home *** CD-ROM | disk | FTP | other *** search
/ PC Play 71 / pc play 71.iso / Demo / Tribes / tribesv_spdemo2_en.exe / Data1.cab / _6B00D89793E542988B7A39C7D2C4630C / ConfigSet_GameConfigSet_ScriptText.TextBuffer < prev    next >
Unknown  |  2004-12-14  |  12.2 KB

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text


This file was not able to be converted.
This format is not currently supported by dexvert.

ConfidenceProgramDetectionMatch TypeSupport
100% file data default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 00 00 00 00 00 00 00 | 70 c3 01 63 6c 61 73 73 |........|p..class|
|00000010| 20 47 61 6d 65 43 6f 6e | 66 69 67 53 65 74 20 65 | GameCon|figSet e|
|00000020| 78 74 65 6e 64 73 20 43 | 6f 72 65 2e 4f 62 6a 65 |xtends C|ore.Obje|
|00000030| 63 74 3b 0d 0a 0d 0a 76 | 61 72 20 45 6e 67 69 6e |ct;....v|ar Engin|
|00000040| 65 2e 4c 65 76 65 6c 49 | 6e 66 6f 09 4c 65 76 65 |e.LevelI|nfo.Leve|
|00000050| 6c 3b 09 09 09 2f 2f 20 | 4e 65 65 64 20 61 63 63 |l;...// |Need acc|
|00000060| 65 73 73 20 74 6f 20 4c | 65 76 65 6c 20 66 75 6e |ess to L|evel fun|
|00000070| 63 74 69 6f 6e 0d 0a 0d | 0a 76 61 72 20 70 72 6f |ction...|.var pro|
|00000080| 74 65 63 74 65 64 20 43 | 6f 72 65 2e 43 6c 61 73 |tected C|ore.Clas|
|00000090| 73 3c 45 6e 67 69 6e 65 | 2e 47 61 6d 65 49 6e 66 |s<Engine|.GameInf|
|000000a0| 6f 3e 09 47 61 6d 65 43 | 6c 61 73 73 3b 09 09 2f |o>.GameC|lass;../|
|000000b0| 2f 20 57 68 69 63 68 20 | 67 61 6d 65 20 63 6c 61 |/ Which |game cla|
|000000c0| 73 73 20 69 73 20 62 65 | 69 6e 67 20 65 64 69 74 |ss is be|ing edit|
|000000d0| 65 64 0d 0a 76 61 72 20 | 70 72 6f 74 65 63 74 65 |ed..var |protecte|
|000000e0| 64 20 45 6e 67 69 6e 65 | 2e 50 6c 61 79 49 6e 66 |d Engine|.PlayInf|
|000000f0| 6f 09 09 09 53 65 74 74 | 69 6e 67 73 3b 09 09 2f |o...Sett|ings;../|
|00000100| 2f 20 47 61 6d 65 20 53 | 65 74 74 69 6e 67 20 44 |/ Game S|etting D|
|00000110| 65 66 61 75 6c 74 73 0d | 0a 76 61 72 20 70 72 6f |efaults.|.var pro|
|00000120| 74 65 63 74 65 64 20 45 | 6e 67 69 6e 65 2e 4d 61 |tected E|ngine.Ma|
|00000130| 70 4c 69 73 74 09 09 09 | 4d 61 70 73 3b 09 09 09 |pList...|Maps;...|
|00000140| 2f 2f 20 4d 61 70 73 20 | 74 6f 20 62 65 20 75 73 |// Maps |to be us|
|00000150| 65 64 20 62 79 20 74 68 | 69 73 20 47 61 6d 65 20 |ed by th|is Game |
|00000160| 43 6c 61 73 73 0d 0a 76 | 61 72 20 70 72 6f 74 65 |Class..v|ar prote|
|00000170| 63 74 65 64 20 61 72 72 | 61 79 3c 69 6e 74 3e 09 |cted arr|ay<int>.|
|00000180| 09 55 73 65 64 4d 75 74 | 61 74 6f 72 73 3b 09 2f |.UsedMut|ators;./|
|00000190| 2f 20 4c 69 73 74 20 6f | 66 20 4d 75 74 61 74 6f |/ List o|f Mutato|
|000001a0| 72 73 20 69 6e 20 75 73 | 65 0d 0a 0d 0a 2f 2f 20 |rs in us|e....// |
|000001b0| 4d 61 69 6e 74 61 69 6e | 69 6e 67 20 47 6c 6f 62 |Maintain|ing Glob|
|000001c0| 61 6c 20 4c 69 73 74 73 | 0d 0a 76 61 72 20 70 72 |al Lists|..var pr|
|000001d0| 6f 74 65 63 74 65 64 20 | 73 74 72 69 6e 67 09 09 |otected |string..|
|000001e0| 09 41 6c 6c 4d 61 70 73 | 50 72 65 66 69 78 3b 09 |.AllMaps|Prefix;.|
|000001f0| 2f 2f 20 57 68 69 63 68 | 20 6d 61 70 20 70 72 65 |// Which| map pre|
|00000200| 66 69 78 20 69 73 20 63 | 75 72 72 65 6e 74 6c 79 |fix is c|urrently|
|00000210| 20 6c 6f 61 64 65 64 0d | 0a 76 61 72 20 70 72 6f | loaded.|.var pro|
|00000220| 74 65 63 74 65 64 20 61 | 72 72 61 79 3c 73 74 72 |tected a|rray<str|
|00000230| 69 6e 67 3e 09 09 41 6c | 6c 4d 61 70 73 3b 09 09 |ing>..Al|lMaps;..|
|00000240| 2f 2f 20 4c 69 73 74 20 | 6f 66 20 61 6c 6c 20 4d |// List |of all M|
|00000250| 61 70 73 20 66 6f 72 20 | 74 68 65 20 73 70 65 63 |aps for |the spec|
|00000260| 69 66 69 65 64 20 67 61 | 6d 65 20 74 79 70 65 2e |ified ga|me type.|
|00000270| 0d 0a 76 61 72 20 70 72 | 6f 74 65 63 74 65 64 20 |..var pr|otected |
|00000280| 61 72 72 61 79 3c 73 74 | 72 69 6e 67 3e 09 09 41 |array<st|ring>..A|
|00000290| 6c 6c 4d 75 74 61 74 6f | 72 73 3b 09 2f 2f 20 4c |llMutato|rs;.// L|
|000002a0| 69 73 74 20 6f 66 20 61 | 6c 6c 20 61 76 61 69 6c |ist of a|ll avail|
|000002b0| 61 62 6c 65 20 6d 75 74 | 61 74 6f 72 73 0d 0a 76 |able mut|ators..v|
|000002c0| 61 72 20 70 72 6f 74 65 | 63 74 65 64 20 61 72 72 |ar prote|cted arr|
|000002d0| 61 79 3c 20 63 6c 61 73 | 73 3c 45 6e 67 69 6e 65 |ay< clas|s<Engine|
|000002e0| 2e 47 61 6d 65 49 6e 66 | 6f 3e 20 3e 09 41 6c 6c |.GameInf|o> >.All|
|000002f0| 47 61 6d 65 54 79 70 65 | 73 3b 0d 0a 0d 0a 76 61 |GameType|s;....va|
|00000300| 72 20 73 74 72 69 6e 67 | 20 4e 65 78 74 4d 75 74 |r string| NextMut|
|00000310| 61 74 6f 72 73 3b 09 09 | 09 09 09 09 2f 2f 20 57 |ators;..|....// W|
|00000320| 68 61 74 20 6d 75 74 61 | 74 6f 72 73 20 77 65 72 |hat muta|tors wer|
|00000330| 65 20 73 65 74 20 64 75 | 72 69 6e 67 20 74 68 69 |e set du|ring thi|
|00000340| 73 20 73 65 73 73 69 6f | 6e 0d 0a 0d 0a 76 61 72 |s sessio|n....var|
|00000350| 20 70 72 6f 74 65 63 74 | 65 64 20 62 6f 6f 6c 20 | protect|ed bool |
|00000360| 62 45 64 69 74 3b 09 09 | 09 09 09 09 2f 2f 20 57 |bEdit;..|....// W|
|00000370| 65 20 61 72 65 20 63 75 | 72 72 65 6e 74 6c 79 20 |e are cu|rrently |
|00000380| 65 64 69 74 69 6e 67 20 | 73 6f 6d 65 74 68 69 6e |editing |somethin|
|00000390| 67 0d 0a 0d 0a 66 75 6e | 63 74 69 6f 6e 20 62 6f |g....fun|ction bo|
|000003a0| 6f 6c 20 53 74 61 72 74 | 45 64 69 74 28 6f 70 74 |ol Start|Edit(opt|
|000003b0| 69 6f 6e 61 6c 20 73 74 | 72 69 6e 67 20 47 61 6d |ional st|ring Gam|
|000003c0| 65 54 79 70 65 29 0d 0a | 7b 0d 0a 09 69 66 20 28 |eType)..|{...if (|
|000003d0| 4c 65 76 65 6c 20 3d 3d | 20 4e 6f 6e 65 20 7c 7c |Level ==| None |||
|000003e0| 20 62 45 64 69 74 29 0d | 0a 09 09 72 65 74 75 72 | bEdit).|...retur|
|000003f0| 6e 20 66 61 6c 73 65 3b | 0d 0a 0d 0a 09 2f 2f 20 |n false;|.....// |
|00000400| 4c 6f 61 64 20 61 6c 6c | 20 47 61 6d 65 20 54 79 |Load all| Game Ty|
|00000410| 70 65 73 2c 20 75 6e 6c | 65 73 73 20 61 6c 72 65 |pes, unl|ess alre|
|00000420| 61 64 79 20 6c 6f 61 64 | 65 64 0d 0a 09 69 66 20 |ady load|ed...if |
|00000430| 28 41 6c 6c 47 61 6d 65 | 54 79 70 65 73 2e 4c 65 |(AllGame|Types.Le|
|00000440| 6e 67 74 68 20 3d 3d 20 | 30 29 0d 0a 09 09 4c 6f |ngth == |0)....Lo|
|00000450| 61 64 47 61 6d 65 54 79 | 70 65 73 28 29 3b 0d 0a |adGameTy|pes();..|
|00000460| 0d 0a 09 2f 2f 20 4c 6f | 61 64 20 41 6c 6c 20 4d |...// Lo|ad All M|
|00000470| 75 74 61 74 6f 72 73 20 | 28 55 6e 6c 65 73 73 20 |utators |(Unless |
|00000480| 61 6c 72 65 61 64 79 20 | 6c 6f 61 64 65 64 29 0d |already |loaded).|
|00000490| 0a 09 69 66 20 28 41 6c | 6c 4d 75 74 61 74 6f 72 |..if (Al|lMutator|
|000004a0| 73 2e 4c 65 6e 67 74 68 | 20 3d 3d 20 30 29 0d 0a |s.Length| == 0)..|
|000004b0| 09 09 4c 6f 61 64 41 6c | 6c 4d 75 74 61 74 6f 72 |..LoadAl|lMutator|
|000004c0| 73 28 29 3b 0d 0a 0d 0a | 09 2f 2f 20 49 66 20 6e |s();....|.// If n|
|000004d0| 6f 20 47 61 6d 65 54 79 | 70 65 20 53 70 65 63 69 |o GameTy|pe Speci|
|000004e0| 66 69 65 64 2c 20 75 73 | 65 20 63 75 72 72 65 6e |fied, us|e curren|
|000004f0| 74 6c 79 20 6c 6f 61 64 | 65 64 20 6f 6e 65 2e 0d |tly load|ed one..|
|00000500| 0a 09 69 66 20 28 47 61 | 6d 65 54 79 70 65 20 3d |..if (Ga|meType =|
|00000510| 3d 20 22 22 29 0d 0a 09 | 09 47 61 6d 65 54 79 70 |= "")...|.GameTyp|
|00000520| 65 20 3d 20 53 74 72 69 | 6e 67 28 4c 65 76 65 6c |e = Stri|ng(Level|
|00000530| 2e 47 61 6d 65 2e 43 6c | 61 73 73 29 3b 0d 0a 0d |.Game.Cl|ass);...|
|00000540| 0a 09 2f 2f 20 57 68 65 | 6e 20 65 64 69 74 69 6e |..// Whe|n editin|
|00000550| 67 20 61 6c 6c 6f 77 20 | 66 6f 72 20 6d 61 6e 79 |g allow |for many|
|00000560| 20 77 61 79 73 20 74 6f | 20 66 69 6e 64 20 74 68 | ways to| find th|
|00000570| 65 20 67 6f 6f 64 20 67 | 61 6d 65 20 63 6c 61 73 |e good g|ame clas|
|00000580| 73 0d 0a 09 2f 2f 20 54 | 72 79 20 77 69 74 68 20 |s...// T|ry with |
|00000590| 41 63 72 6f 6e 79 6d 2c | 20 43 6c 61 73 73 2c 20 |Acronym,| Class, |
|000005a0| 41 6c 74 65 72 6e 61 74 | 65 20 63 6c 61 73 73 2c |Alternat|e class,|
|000005b0| 20 65 74 63 0d 0a 09 47 | 61 6d 65 43 6c 61 73 73 | etc...G|ameClass|
|000005c0| 20 3d 20 46 69 6e 64 47 | 61 6d 65 54 79 70 65 28 | = FindG|ameType(|
|000005d0| 47 61 6d 65 54 79 70 65 | 29 3b 0d 0a 0d 0a 09 6c |GameType|);.....l|
|000005e0| 6f 67 28 22 47 61 6d 65 | 43 6c 61 73 73 20 69 73 |og("Game|Class is|
|000005f0| 22 40 47 61 6d 65 43 6c | 61 73 73 29 3b 0d 0a 0d |"@GameCl|ass);...|
|00000600| 0a 09 69 66 20 28 47 61 | 6d 65 43 6c 61 73 73 20 |..if (Ga|meClass |
|00000610| 3d 3d 20 4e 6f 6e 65 29 | 0d 0a 09 09 72 65 74 75 |== None)|....retu|
|00000620| 72 6e 20 66 61 6c 73 65 | 3b 0d 0a 0d 0a 09 4c 6f |rn false|;.....Lo|
|00000630| 61 64 41 6c 6c 4d 61 70 | 73 28 29 3b 0d 0a 0d 0a |adAllMap|s();....|
|00000640| 09 2f 2f 20 4c 6f 61 64 | 20 47 61 6d 65 20 53 65 |.// Load| Game Se|
|00000650| 74 74 69 6e 67 0d 0a 09 | 4c 6f 61 64 53 65 74 74 |tting...|LoadSett|
|00000660| 69 6e 67 73 28 47 61 6d | 65 43 6c 61 73 73 29 3b |ings(Gam|eClass);|
|00000670| 0d 0a 0d 0a 09 2f 2f 20 | 46 69 6c 6c 20 69 6e 20 |.....// |Fill in |
|00000680| 55 73 65 64 20 4d 75 74 | 61 74 6f 72 73 0d 0a 09 |Used Mut|ators...|
|00000690| 53 65 74 55 73 65 64 4d | 75 74 61 74 6f 72 73 28 |SetUsedM|utators(|
|000006a0| 29 3b 0d 0a 0d 0a 09 4e | 65 78 74 4d 75 74 61 74 |);.....N|extMutat|
|000006b0| 6f 72 73 20 3d 20 22 22 | 3b 0d 0a 0d 0a 09 4d 61 |ors = ""|;.....Ma|
|000006c0| 70 73 20 3d 20 4c 65 76 | 65 6c 2e 47 61 6d 65 2e |ps = Lev|el.Game.|
|000006d0| 47 65 74 4d 61 70 4c 69 | 73 74 28 47 61 6d 65 43 |GetMapLi|st(GameC|
|000006e0| 6c 61 73 73 2e 64 65 66 | 61 75 6c 74 2e 4d 61 70 |lass.def|ault.Map|
|000006f0| 4c 69 73 74 54 79 70 65 | 29 3b 0d 0a 09 6c 6f 67 |ListType|);...log|
|00000700| 28 22 4d 61 70 4c 69 73 | 74 20 68 61 73 22 40 4d |("MapLis|t has"@M|
|00000710| 61 70 73 2e 4d 61 70 73 | 2e 4c 65 6e 67 74 68 40 |aps.Maps|.Length@|
|00000720| 22 65 6e 74 72 69 65 73 | 22 29 3b 0d 0a 09 62 45 |"entries|");...bE|
|00000730| 64 69 74 20 3d 20 74 72 | 75 65 3b 0d 0a 09 72 65 |dit = tr|ue;...re|
|00000740| 74 75 72 6e 20 74 72 75 | 65 3b 0d 0a 7d 0d 0a 0d |turn tru|e;..}...|
|00000750| 0a 66 75 6e 63 74 69 6f | 6e 20 62 6f 6f 6c 20 45 |.functio|n bool E|
|00000760| 6e 64 45 64 69 74 28 62 | 6f 6f 6c 20 62 53 61 76 |ndEdit(b|ool bSav|
|00000770| 65 29 0d 0a 7b 0d 0a 6c | 6f 63 61 6c 20 69 6e 74 |e)..{..l|ocal int|
|00000780| 20 69 3b 0d 0a 0d 0a 09 | 69 66 20 28 4c 65 76 65 | i;.....|if (Leve|
|00000790| 6c 20 3d 3d 20 4e 6f 6e | 65 20 7c 7c 20 21 62 45 |l == Non|e || !bE|
|000007a0| 64 69 74 29 0d 0a 09 09 | 72 65 74 75 72 6e 20 66 |dit)....|return f|
|000007b0| 61 6c 73 65 3b 0d 0a 0d | 0a 09 2f 2f 20 53 61 76 |alse;...|..// Sav|
|000007c0| 65 20 61 6c 6c 20 64 61 | 74 61 20 77 68 65 72 65 |e all da|ta where|
|000007d0| 20 69 74 20 62 65 6c 6f | 6e 67 73 0d 0a 09 69 66 | it belo|ngs...if|
|000007e0| 20 28 62 53 61 76 65 29 | 0d 0a 09 7b 0d 0a 09 09 | (bSave)|...{....|
|000007f0| 4c 6f 67 28 22 47 43 53 | 2e 45 6e 64 45 64 69 74 |Log("GCS|.EndEdit|
|00000800| 20 69 73 20 6e 6f 77 20 | 53 61 76 69 6e 67 20 41 | is now |Saving A|
|00000810| 6c 6c 20 74 68 65 20 44 | 61 74 61 22 29 3b 0d 0a |ll the D|ata");..|
|00000820| 09 09 2f 2f 20 43 6f 6d | 6d 69 74 20 74 6f 20 50 |..// Com|mit to P|
|00000830| 6c 61 79 49 6e 66 6f 0d | 0a 09 09 2f 2a 0d 0a 09 |layInfo.|.../*...|
|00000840| 09 66 6f 72 20 28 69 20 | 3d 20 30 3b 20 69 3c 53 |.for (i |= 0; i<S|
|00000850| 65 74 74 69 6e 67 73 2e | 53 65 74 74 69 6e 67 73 |ettings.|Settings|
|00000860| 2e 4c 65 6e 67 74 68 3b | 20 69 2b 2b 29 0d 0a 09 |.Length;| i++)...|
|00000870| 09 7b 0d 0a 09 09 09 2f | 2f 20 54 4f 44 4f 3a 20 |.{...../|/ TODO: |
|00000880| 46 69 6e 64 20 4d 6f 72 | 65 20 65 6c 65 67 61 6e |Find Mor|e elegan|
|00000890| 74 20 73 6f 6c 75 74 69 | 6f 6e 20 3f 0d 0a 09 09 |t soluti|on ?....|
|000008a0| 09 53 65 74 74 69 6e 67 | 73 2e 53 61 76 65 53 65 |.Setting|s.SaveSe|
|000008b0| 74 74 69 6e 67 28 69 2c | 20 53 65 74 74 69 6e 67 |tting(i,| Setting|
|000008c0| 73 2e 53 65 74 74 69 6e | 67 73 5b 69 5d 2e 56 61 |s.Settin|gs[i].Va|
|000008d0| 6c 75 65 29 3b 0d 0a 09 | 09 7d 20 2a 2f 0d 0a 09 |lue);...|.} */...|
|000008e0| 09 53 65 74 74 69 6e 67 | 73 2e 53 61 76 65 53 65 |.Setting|s.SaveSe|
|000008f0| 74 74 69 6e 67 73 28 29 | 3b 0d 0a 09 09 2f 2f 20 |ttings()|;....// |
|00000900| 53 61 76 65 20 6e 65 77 | 20 4d 75 74 61 74 6f 72 |Save new| Mutator|
|00000910| 20 4c 69 73 74 20 3f 3f | 3f 3f 3f 0d 0a 09 09 2f | List ??|???..../|
|00000920| 2f 20 42 75 69 6c 64 73 | 20 61 20 73 74 72 69 6e |/ Builds| a strin|
|00000930| 67 20 73 65 70 61 72 61 | 74 65 64 20 6c 69 73 74 |g separa|ted list|
|00000940| 20 3f 0d 0a 09 09 4e 65 | 78 74 4d 75 74 61 74 6f | ?....Ne|xtMutato|
|00000950| 72 73 20 3d 20 22 22 3b | 0d 0a 09 09 69 66 20 28 |rs = "";|....if (|
|00000960| 55 73 65 64 4d 75 74 61 | 74 6f 72 73 2e 4c 65 6e |UsedMuta|tors.Len|
|00000970| 67 74 68 20 3e 20 30 29 | 0d 0a 09 09 7b 0d 0a 20 |gth > 0)|....{.. |
|00000980| 20 20 20 20 20 20 20 20 | 20 20 20 4e 65 78 74 4d | | NextM|
|00000990| 75 74 61 74 6f 72 73 20 | 3d 20 41 6c 6c 4d 75 74 |utators |= AllMut|
|000009a0| 61 74 6f 72 73 5b 55 73 | 65 64 4d 75 74 61 74 6f |ators[Us|edMutato|
|000009b0| 72 73 5b 30 5d 5d 3b 0d | 0a 09 09 09 66 6f 72 20 |rs[0]];.|....for |
|000009c0| 28 69 3d 31 3b 20 69 3c | 55 73 65 64 4d 75 74 61 |(i=1; i<|UsedMuta|
|000009d0| 74 6f 72 73 2e 4c 65 6e | 67 74 68 3b 20 69 2b 2b |tors.Len|gth; i++|
|000009e0| 29 0d 0a 09 09 09 09 4e | 65 78 74 4d 75 74 61 74 |)......N|extMutat|
|000009f0| 6f 72 73 20 3d 20 4e 65 | 78 74 4d 75 74 61 74 6f |ors = Ne|xtMutato|
|00000a00| 72 73 24 22 2c 22 24 41 | 6c 6c 4d 75 74 61 74 6f |rs$","$A|llMutato|
|00000a10| 72 73 5b 55 73 65 64 4d | 75 74 61 74 6f 72 73 5b |rs[UsedM|utators[|
|00000a20| 69 5d 5d 3b 0d 0a 09 09 | 7d 0d 0a 09 09 4c 6f 67 |i]];....|}....Log|
|00000a30| 28 22 43 47 53 2e 4e 65 | 78 74 4d 75 74 61 74 6f |("CGS.Ne|xtMutato|
|00000a40| 72 73 3d 22 40 4e 65 78 | 74 4d 75 74 61 74 6f 72 |rs="@Nex|tMutator|
|00000a50| 73 29 3b 0d 0a 09 09 2f | 2f 20 53 61 76 65 20 4d |s);..../|/ Save M|
|00000a60| 61 70 4c 69 73 74 0d 0a | 09 09 4d 61 70 73 2e 53 |apList..|..Maps.S|
|00000a70| 61 76 65 43 6f 6e 66 69 | 67 28 29 3b 0d 0a 09 7d |aveConfi|g();...}|
|00000a80| 0d 0a 0d 0a 09 62 45 64 | 69 74 20 3d 20 66 61 6c |.....bEd|it = fal|
|00000a90| 73 65 3b 0d 0a 09 72 65 | 74 75 72 6e 20 74 72 75 |se;...re|turn tru|
|00000aa0| 65 3b 0d 0a 7d 0d 0a 0d | 0a 66 75 6e 63 74 69 6f |e;..}...|.functio|
|00000ab0| 6e 20 62 6f 6f 6c 20 43 | 61 6e 45 64 69 74 28 29 |n bool C|anEdit()|
|00000ac0| 0d 0a 7b 0d 0a 09 72 65 | 74 75 72 6e 20 21 62 45 |..{...re|turn !bE|
|00000ad0| 64 69 74 3b 0d 0a 7d 0d | 0a 0d 0a 2f 2f 20 53 65 |dit;..}.|...// Se|
|00000ae0| 74 74 69 6e 67 73 20 46 | 75 6e 63 74 69 6f 6e 73 |ttings F|unctions|
|00000af0| 0d 0a 66 75 6e 63 74 69 | 6f 6e 20 73 74 72 69 6e |..functi|on strin|
|00000b00| 67 20 47 65 74 50 61 72 | 61 6d 28 69 6e 74 20 69 |g GetPar|am(int i|
|00000b10| 64 78 29 0d 0a 7b 0d 0a | 09 69 66 20 28 69 64 78 |dx)..{..|.if (idx|
|00000b20| 20 3c 20 30 20 7c 7c 20 | 69 64 78 20 3e 3d 20 53 | < 0 || |idx >= S|
|00000b30| 65 74 74 69 6e 67 73 2e | 53 65 74 74 69 6e 67 73 |ettings.|Settings|
|00000b40| 2e 4c 65 6e 67 74 68 29 | 0d 0a 09 09 72 65 74 75 |.Length)|....retu|
|00000b50| 72 6e 20 22 22 3b 0d 0a | 0d 0a 09 72 65 74 75 72 |rn "";..|...retur|
|00000b60| 6e 20 53 65 74 74 69 6e | 67 73 2e 53 65 74 74 69 |n Settin|gs.Setti|
|00000b70| 6e 67 73 5b 69 64 78 5d | 2e 56 61 6c 75 65 3b 0d |ngs[idx]|.Value;.|
|00000b80| 0a 7d 0d 0a 0d 0a 66 75 | 6e 63 74 69 6f 6e 20 73 |.}....fu|nction s|
|00000b90| 74 72 69 6e 67 20 47 65 | 74 4e 61 6d 65 64 50 61 |tring Ge|tNamedPa|
|00000ba0| 72 61 6d 28 73 74 72 69 | 6e 67 20 50 61 72 61 6d |ram(stri|ng Param|
|00000bb0| 65 74 65 72 29 0d 0a 7b | 0d 0a 6c 6f 63 61 6c 20 |eter)..{|..local |
|00000bc0| 69 6e 74 20 69 3b 0d 0a | 6c 6f 63 61 6c 20 73 74 |int i;..|local st|
|00000bd0| 72 69 6e 67 20 53 65 74 | 74 69 6e 67 4e 61 6d 65 |ring Set|tingName|
|00000be0| 3b 0d 0a 0d 0a 09 66 6f | 72 20 28 69 20 3d 20 30 |;.....fo|r (i = 0|
|00000bf0| 3b 20 69 20 3c 20 53 65 | 74 74 69 6e 67 73 2e 53 |; i < Se|ttings.S|
|00000c00| 65 74 74 69 6e 67 73 2e | 4c 65 6e 67 74 68 3b 20 |ettings.|Length; |
|00000c10| 69 2b 2b 29 0d 0a 09 7b | 0d 0a 09 09 53 65 74 74 |i++)...{|....Sett|
|00000c20| 69 6e 67 4e 61 6d 65 20 | 3d 20 53 65 74 74 69 6e |ingName |= Settin|
|00000c30| 67 73 2e 53 65 74 74 69 | 6e 67 73 5b 69 5d 2e 53 |gs.Setti|ngs[i].S|
|00000c40| 65 74 74 69 6e 67 4e 61 | 6d 65 3b 0d 0a 09 09 69 |ettingNa|me;....i|
|00000c50| 66 20 28 53 65 74 74 69 | 6e 67 4e 61 6d 65 20 7e |f (Setti|ngName ~|
|00000c60| 3d 20 50 61 72 61 6d 65 | 74 65 72 20 7c 7c 20 52 |= Parame|ter || R|
|00000c70| 69 67 68 74 28 53 65 74 | 74 69 6e 67 4e 61 6d 65 |ight(Set|tingName|
|00000c80| 2c 20 4c 65 6e 28 50 61 | 72 61 6d 65 74 65 72 29 |, Len(Pa|rameter)|
|00000c90| 20 2b 20 31 29 20 7e 3d | 20 28 22 2e 22 24 50 61 | + 1) ~=| ("."$Pa|
|00000ca0| 72 61 6d 65 74 65 72 29 | 29 0d 0a 09 09 09 72 65 |rameter)|).....re|
|00000cb0| 74 75 72 6e 20 53 65 74 | 74 69 6e 67 73 2e 53 65 |turn Set|tings.Se|
|00000cc0| 74 74 69 6e 67 73 5b 69 | 5d 2e 56 61 6c 75 65 3b |ttings[i|].Value;|
|00000cd0| 0d 0a 09 7d 0d 0a 09 72 | 65 74 75 72 6e 20 22 22 |...}...r|eturn ""|
|00000ce0| 3b 0d 0a 7d 0d 0a 0d 0a | 66 75 6e 63 74 69 6f 6e |;..}....|function|
|00000cf0| 20 61 72 72 61 79 3c 73 | 74 72 69 6e 67 3e 20 47 | array<s|tring> G|
|00000d00| 65 74 4d 61 73 6b 65 64 | 50 61 72 61 6d 73 28 73 |etMasked|Params(s|
|00000d10| 74 72 69 6e 67 20 50 61 | 72 61 6d 4d 61 73 6b 29 |tring Pa|ramMask)|
|00000d20| 0d 0a 7b 0d 0a 6c 6f 63 | 61 6c 20 61 72 72 61 79 |..{..loc|al array|
|00000d30| 3c 73 74 72 69 6e 67 3e | 20 46 6f 75 6e 64 50 61 |<string>| FoundPa|
|00000d40| 72 61 6d 73 3b 0d 0a 6c | 6f 63 61 6c 20 61 72 72 |rams;..l|ocal arr|
|00000d50| 61 79 3c 73 74 72 69 6e | 67 3e 20 46 6f 75 6e 64 |ay<strin|g> Found|
|00000d60| 4d 61 73 6b 73 3b 0d 0a | 6c 6f 63 61 6c 20 73 74 |Masks;..|local st|
|00000d70| 72 69 6e 67 20 53 65 74 | 74 69 6e 67 4e 61 6d 65 |ring Set|tingName|
|00000d80| 2c 20 53 68 6f 72 74 4e | 61 6d 65 3b 0d 0a 6c 6f |, ShortN|ame;..lo|
|00000d90| 63 61 6c 20 69 6e 74 20 | 69 2c 20 6a 2c 20 70 3b |cal int |i, j, p;|
|00000da0| 0d 0a 0d 0a 09 53 70 6c | 69 74 28 50 61 72 61 6d |.....Spl|it(Param|
|00000db0| 4d 61 73 6b 2c 20 22 20 | 22 2c 20 46 6f 75 6e 64 |Mask, " |", Found|
|00000dc0| 4d 61 73 6b 73 29 3b 0d | 0a 09 0d 0a 09 69 66 20 |Masks);.|.....if |
|00000dd0| 28 46 6f 75 6e 64 4d 61 | 73 6b 73 2e 4c 65 6e 67 |(FoundMa|sks.Leng|
|00000de0| 74 68 20 3e 20 30 29 0d | 0a 09 7b 0d 0a 09 09 66 |th > 0).|..{....f|
|00000df0| 6f 72 20 28 69 20 3d 20 | 30 3b 20 69 3c 53 65 74 |or (i = |0; i<Set|
|00000e00| 74 69 6e 67 73 2e 53 65 | 74 74 69 6e 67 73 2e 4c |tings.Se|ttings.L|
|00000e10| 65 6e 67 74 68 3b 20 69 | 2b 2b 29 0d 0a 09 09 7b |ength; i|++)....{|
|00000e20| 0d 0a 09 09 09 53 65 74 | 74 69 6e 67 4e 61 6d 65 |.....Set|tingName|
|00000e30| 20 3d 20 53 65 74 74 69 | 6e 67 73 2e 53 65 74 74 | = Setti|ngs.Sett|
|00000e40| 69 6e 67 73 5b 69 5d 2e | 53 65 74 74 69 6e 67 4e |ings[i].|SettingN|
|00000e50| 61 6d 65 3b 0d 0a 0d 0a | 09 09 09 53 68 6f 72 74 |ame;....|...Short|
|00000e60| 4e 61 6d 65 20 3d 20 53 | 65 74 74 69 6e 67 4e 61 |Name = S|ettingNa|
|00000e70| 6d 65 3b 0d 0a 09 09 09 | 6a 20 3d 20 49 6e 73 74 |me;.....|j = Inst|
|00000e80| 72 28 53 68 6f 72 74 4e | 61 6d 65 2c 20 22 2e 22 |r(ShortN|ame, "."|
|00000e90| 29 3b 0d 0a 09 09 09 77 | 68 69 6c 65 20 28 6a 20 |);.....w|hile (j |
|00000ea0| 21 3d 20 2d 31 29 0d 0a | 09 09 09 7b 0d 0a 09 09 |!= -1)..|...{....|
|00000eb0| 09 09 53 68 6f 72 74 4e | 61 6d 65 20 3d 20 4d 69 |..ShortN|ame = Mi|
|00000ec0| 64 28 53 68 6f 72 74 4e | 61 6d 65 2c 20 70 2b 31 |d(ShortN|ame, p+1|
|00000ed0| 29 3b 0d 0a 09 09 09 09 | 6a 20 3d 20 49 6e 73 74 |);......|j = Inst|
|00000ee0| 72 28 53 68 6f 72 74 4e | 61 6d 65 2c 20 22 2e 22 |r(ShortN|ame, "."|
|00000ef0| 29 3b 0d 0a 09 09 09 7d | 0d 0a 0d 0a 09 09 09 66 |);.....}|.......f|
|00000f00| 6f 72 20 28 6a 20 3d 20 | 30 3b 20 6a 3c 46 6f 75 |or (j = |0; j<Fou|
|00000f10| 6e 64 4d 61 73 6b 73 2e | 4c 65 6e 67 74 68 3b 20 |ndMasks.|Length; |
|00000f20| 6a 2b 2b 29 0d 0a 09 09 | 09 7b 0d 0a 09 09 09 09 |j++)....|.{......|
|00000f30| 69 66 20 28 4d 61 73 6b | 65 64 43 6f 6d 70 61 72 |if (Mask|edCompar|
|00000f40| 65 28 53 68 6f 72 74 4e | 61 6d 65 2c 20 46 6f 75 |e(ShortN|ame, Fou|
|00000f50| 6e 64 4d 61 73 6b 73 5b | 6a 5d 29 20 7c 7c 20 4d |ndMasks[|j]) || M|
|00000f60| 61 73 6b 65 64 43 6f 6d | 70 61 72 65 28 53 65 74 |askedCom|pare(Set|
|00000f70| 74 69 6e 67 4e 61 6d 65 | 2c 20 46 6f 75 6e 64 4d |tingName|, FoundM|
|00000f80| 61 73 6b 73 5b 6a 5d 29 | 29 0d 0a 09 09 09 09 7b |asks[j])|)......{|
|00000f90| 0d 0a 09 09 09 09 09 46 | 6f 75 6e 64 50 61 72 61 |.......F|oundPara|
|00000fa0| 6d 73 5b 46 6f 75 6e 64 | 50 61 72 61 6d 73 2e 4c |ms[Found|Params.L|
|00000fb0| 65 6e 67 74 68 5d 20 3d | 20 53 65 74 74 69 6e 67 |ength] =| Setting|
|00000fc0| 4e 61 6d 65 3b 0d 0a 09 | 09 09 09 09 46 6f 75 6e |Name;...|....Foun|
|00000fd0| 64 50 61 72 61 6d 73 5b | 46 6f 75 6e 64 50 61 72 |dParams[|FoundPar|
|00000fe0| 61 6d 73 2e 4c 65 6e 67 | 74 68 5d 20 3d 20 53 65 |ams.Leng|th] = Se|
|00000ff0| 74 74 69 6e 67 73 2e 53 | 65 74 74 69 6e 67 73 5b |ttings.S|ettings[|
|00001000| 69 5d 2e 56 61 6c 75 65 | 3b 0d 0a 09 09 09 09 09 |i].Value|;.......|
|00001010| 62 72 65 61 6b 3b 0d 0a | 09 09 09 09 7d 0d 0a 09 |break;..|....}...|
|00001020| 09 09 7d 0d 0a 09 09 7d | 0d 0a 09 7d 0d 0a 09 72 |..}....}|...}...r|
|00001030| 65 74 75 72 6e 20 46 6f | 75 6e 64 50 61 72 61 6d |eturn Fo|undParam|
|00001040| 73 3b 0d 0a 7d 0d 0a 0d | 0a 66 75 6e 63 74 69 6f |s;..}...|.functio|
|00001050| 6e 20 62 6f 6f 6c 20 53 | 65 74 50 61 72 61 6d 28 |n bool S|etParam(|
|00001060| 69 6e 74 20 69 64 78 2c | 20 73 74 72 69 6e 67 20 |int idx,| string |
|00001070| 56 61 6c 75 65 29 0d 0a | 7b 0d 0a 09 69 66 20 28 |Value)..|{...if (|
|00001080| 69 64 78 20 3c 20 30 20 | 7c 7c 20 69 64 78 20 3e |idx < 0 ||| idx >|
|00001090| 3d 20 53 65 74 74 69 6e | 67 73 2e 53 65 74 74 69 |= Settin|gs.Setti|
|000010a0| 6e 67 73 2e 4c 65 6e 67 | 74 68 29 0d 0a 09 09 72 |ngs.Leng|th)....r|
|000010b0| 65 74 75 72 6e 20 66 61 | 6c 73 65 3b 0d 0a 0d 0a |eturn fa|lse;....|
|000010c0| 09 72 65 74 75 72 6e 20 | 53 65 74 74 69 6e 67 73 |.return |Settings|
|000010d0| 2e 53 74 6f 72 65 53 65 | 74 74 69 6e 67 28 69 64 |.StoreSe|tting(id|
|000010e0| 78 2c 20 56 61 6c 75 65 | 29 3b 0d 0a 7d 0d 0a 0d |x, Value|);..}...|
|000010f0| 0a 2f 2f 20 53 65 74 74 | 69 6e 67 73 20 43 6f 6d |.// Sett|ings Com|
|00001100| 6d 61 6e 64 73 20 50 72 | 6f 63 65 73 73 69 6e 67 |mands Pr|ocessing|
|00001110| 0d 0a 66 75 6e 63 74 69 | 6f 6e 20 62 6f 6f 6c 20 |..functi|on bool |
|00001120| 53 65 74 4e 61 6d 65 64 | 50 61 72 61 6d 28 73 74 |SetNamed|Param(st|
|00001130| 72 69 6e 67 20 50 61 72 | 61 6d 65 74 65 72 2c 20 |ring Par|ameter, |
|00001140| 73 74 72 69 6e 67 20 56 | 61 6c 75 65 29 0d 0a 7b |string V|alue)..{|
|00001150| 0d 0a 6c 6f 63 61 6c 20 | 69 6e 74 20 69 3b 0d 0a |..local |int i;..|
|00001160| 6c 6f 63 61 6c 20 73 74 | 72 69 6e 67 20 53 65 74 |local st|ring Set|
|00001170| 74 69 6e 67 4e 61 6d 65 | 3b 0d 0a 0d 0a 09 66 6f |tingName|;.....fo|
|00001180| 72 20 28 69 20 3d 20 30 | 3b 20 69 20 3c 20 53 65 |r (i = 0|; i < Se|
|00001190| 74 74 69 6e 67 73 2e 53 | 65 74 74 69 6e 67 73 2e |ttings.S|ettings.|
|000011a0| 4c 65 6e 67 74 68 3b 20 | 69 2b 2b 29 0d 0a 09 7b |Length; |i++)...{|
|000011b0| 0d 0a 09 09 53 65 74 74 | 69 6e 67 4e 61 6d 65 20 |....Sett|ingName |
|000011c0| 3d 20 53 65 74 74 69 6e | 67 73 2e 53 65 74 74 69 |= Settin|gs.Setti|
|000011d0| 6e 67 73 5b 69 5d 2e 53 | 65 74 74 69 6e 67 4e 61 |ngs[i].S|ettingNa|
|000011e0| 6d 65 3b 0d 0a 09 09 69 | 66 20 28 53 65 74 74 69 |me;....i|f (Setti|
|000011f0| 6e 67 4e 61 6d 65 20 7e | 3d 20 50 61 72 61 6d 65 |ngName ~|= Parame|
|00001200| 74 65 72 20 7c 7c 20 52 | 69 67 68 74 28 53 65 74 |ter || R|ight(Set|
|00001210| 74 69 6e 67 4e 61 6d 65 | 2c 20 4c 65 6e 28 50 61 |tingName|, Len(Pa|
|00001220| 72 61 6d 65 74 65 72 29 | 20 2b 20 31 29 20 7e 3d |rameter)| + 1) ~=|
|00001230| 20 28 22 2e 22 24 50 61 | 72 61 6d 65 74 65 72 29 | ("."$Pa|rameter)|
|00001240| 29 0d 0a 09 09 09 72 65 | 74 75 72 6e 20 53 65 74 |).....re|turn Set|
|00001250| 74 69 6e 67 73 2e 53 74 | 6f 72 65 53 65 74 74 69 |tings.St|oreSetti|
|00001260| 6e 67 28 69 2c 20 56 61 | 6c 75 65 29 3b 0d 0a 09 |ng(i, Va|lue);...|
|00001270| 7d 0d 0a 09 2f 2f 20 50 | 61 72 61 6d 65 74 65 72 |}...// P|arameter|
|00001280| 20 6e 6f 74 20 66 6f 75 | 6e 64 0d 0a 09 72 65 74 | not fou|nd...ret|
|00001290| 75 72 6e 20 66 61 6c 73 | 65 3b 0d 0a 7d 0d 0a 0d |urn fals|e;..}...|
|000012a0| 0a 2f 2f 20 4d 61 70 4c | 69 73 74 20 46 75 6e 63 |.// MapL|ist Func|
|000012b0| 74 69 6f 6e 73 0d 0a 66 | 75 6e 63 74 69 6f 6e 20 |tions..f|unction |
|000012c0| 61 72 72 61 79 3c 73 74 | 72 69 6e 67 3e 20 41 64 |array<st|ring> Ad|
|000012d0| 64 4d 61 70 73 28 73 74 | 72 69 6e 67 20 4d 61 70 |dMaps(st|ring Map|
|000012e0| 4d 61 73 6b 29 0d 0a 7b | 0d 0a 6c 6f 63 61 6c 20 |Mask)..{|..local |
|000012f0| 61 72 72 61 79 3c 73 74 | 72 69 6e 67 3e 20 46 6f |array<st|ring> Fo|
|00001300| 75 6e 64 4d 61 73 6b 73 | 2c 20 41 64 64 65 64 4d |undMasks|, AddedM|
|00001310| 61 70 73 3b 0d 0a 6c 6f | 63 61 6c 20 69 6e 74 20 |aps;..lo|cal int |
|00001320| 69 2c 20 6a 2c 20 6b 3b | 0d 0a 6c 6f 63 61 6c 20 |i, j, k;|..local |
|00001330| 62 6f 6f 6c 20 62 46 6f | 75 6e 64 3b 0d 0a 0d 0a |bool bFo|und;....|
|00001340| 20 20 20 20 53 70 6c 69 | 74 28 4d 61 70 4d 61 73 | Spli|t(MapMas|
|00001350| 6b 2c 20 22 20 22 2c 46 | 6f 75 6e 64 4d 61 73 6b |k, " ",F|oundMask|
|00001360| 73 29 3b 0d 0a 09 0d 0a | 09 69 66 20 28 46 6f 75 |s);.....|.if (Fou|
|00001370| 6e 64 4d 61 73 6b 73 2e | 4c 65 6e 67 74 68 20 3e |ndMasks.|Length >|
|00001380| 20 30 29 0d 0a 09 7b 0d | 0a 09 09 66 6f 72 20 28 | 0)...{.|...for (|
|00001390| 69 20 3d 20 30 3b 20 69 | 3c 41 6c 6c 4d 61 70 73 |i = 0; i|<AllMaps|
|000013a0| 2e 4c 65 6e 67 74 68 3b | 20 69 2b 2b 29 0d 0a 09 |.Length;| i++)...|
|000013b0| 09 7b 0d 0a 09 09 09 66 | 6f 72 20 28 6a 20 3d 20 |.{.....f|or (j = |
|000013c0| 30 3b 20 6a 3c 46 6f 75 | 6e 64 4d 61 73 6b 73 2e |0; j<Fou|ndMasks.|
|000013d0| 4c 65 6e 67 74 68 3b 20 | 6a 2b 2b 29 0d 0a 09 09 |Length; |j++)....|
|000013e0| 09 7b 0d 0a 09 09 09 09 | 69 66 20 28 4d 61 73 6b |.{......|if (Mask|
|000013f0| 65 64 43 6f 6d 70 61 72 | 65 28 41 6c 6c 4d 61 70 |edCompar|e(AllMap|
|00001400| 73 5b 69 5d 2c 20 46 6f | 75 6e 64 4d 61 73 6b 73 |s[i], Fo|undMasks|
|00001410| 5b 6a 5d 29 29 0d 0a 09 | 09 09 09 7b 0d 0a 09 09 |[j]))...|...{....|
|00001420| 09 09 09 2f 2f 20 46 6f | 75 6e 64 20 61 20 6d 61 |...// Fo|und a ma|
|00001430| 74 63 68 69 6e 67 20 6d | 61 70 2c 20 73 65 65 20 |tching m|ap, see |
|00001440| 69 66 20 69 74 73 20 61 | 6c 72 65 61 64 79 20 69 |if its a|lready i|
|00001450| 6e 20 74 68 65 20 55 73 | 65 64 20 4d 61 70 73 20 |n the Us|ed Maps |
|00001460| 6c 69 73 74 0d 0a 09 09 | 09 09 09 62 46 6f 75 6e |list....|...bFoun|
|00001470| 64 20 3d 20 66 61 6c 73 | 65 3b 0d 0a 09 09 09 09 |d = fals|e;......|
|00001480| 09 66 6f 72 20 28 6b 20 | 3d 20 30 3b 20 6b 3c 4d |.for (k |= 0; k<M|
|00001490| 61 70 73 2e 4d 61 70 73 | 2e 4c 65 6e 67 74 68 3b |aps.Maps|.Length;|
|000014a0| 20 6b 2b 2b 29 0d 0a 09 | 09 09 09 09 7b 0d 0a 09 | k++)...|....{...|
|000014b0| 09 09 09 09 09 69 66 20 | 28 4d 61 70 73 2e 4d 61 |.....if |(Maps.Ma|
|000014c0| 70 73 5b 6b 5d 20 3d 3d | 20 41 6c 6c 4d 61 70 73 |ps[k] ==| AllMaps|
|000014d0| 5b 69 5d 29 0d 0a 09 09 | 09 09 09 09 7b 0d 0a 09 |[i])....|....{...|
|000014e0| 09 09 09 09 09 09 62 46 | 6f 75 6e 64 20 3d 20 74 |......bF|ound = t|
|000014f0| 72 75 65 3b 0d 0a 09 09 | 09 09 09 09 09 62 72 65 |rue;....|.....bre|
|00001500| 61 6b 3b 0d 0a 09 09 09 | 09 09 09 7d 0d 0a 09 09 |ak;.....|...}....|
|00001510| 09 09 09 7d 0d 0a 0d 0a | 09 09 09 09 09 69 66 20 |...}....|.....if |
|00001520| 28 21 62 46 6f 75 6e 64 | 29 0d 0a 09 09 09 09 09 |(!bFound|).......|
|00001530| 7b 0d 0a 09 09 09 09 09 | 09 4d 61 70 73 2e 4d 61 |{.......|.Maps.Ma|
|00001540| 70 73 5b 4d 61 70 73 2e | 4d 61 70 73 2e 4c 65 6e |ps[Maps.|Maps.Len|
|00001550| 67 74 68 5d 20 3d 20 41 | 6c 6c 4d 61 70 73 5b 69 |gth] = A|llMaps[i|
|00001560| 5d 3b 0d 0a 09 09 09 09 | 09 09 41 64 64 65 64 4d |];......|..AddedM|
|00001570| 61 70 73 5b 41 64 64 65 | 64 4d 61 70 73 2e 4c 65 |aps[Adde|dMaps.Le|
|00001580| 6e 67 74 68 5d 20 3d 20 | 41 6c 6c 4d 61 70 73 5b |ngth] = |AllMaps[|
|00001590| 69 5d 3b 0d 0a 09 09 09 | 09 09 09 62 72 65 61 6b |i];.....|...break|
|000015a0| 3b 0d 0a 09 09 09 09 09 | 7d 0d 0a 09 09 09 09 7d |;.......|}......}|
|000015b0| 0d 0a 09 09 09 7d 0d 0a | 09 09 7d 0d 0a 09 7d 0d |.....}..|..}...}.|
|000015c0| 0a 09 72 65 74 75 72 6e | 20 41 64 64 65 64 4d 61 |..return| AddedMa|
|000015d0| 70 73 3b 0d 0a 7d 0d 0a | 0d 0a 66 75 6e 63 74 69 |ps;..}..|..functi|
|000015e0| 6f 6e 20 61 72 72 61 79 | 3c 73 74 72 69 6e 67 3e |on array|<string>|
|000015f0| 20 52 65 6d 6f 76 65 4d | 61 70 73 28 73 74 72 69 | RemoveM|aps(stri|
|00001600| 6e 67 20 4d 61 70 4d 61 | 73 6b 29 0d 0a 7b 0d 0a |ng MapMa|sk)..{..|
|00001610| 6c 6f 63 61 6c 20 61 72 | 72 61 79 3c 73 74 72 69 |local ar|ray<stri|
|00001620| 6e 67 3e 20 46 6f 75 6e | 64 4d 61 73 6b 73 2c 20 |ng> Foun|dMasks, |
|00001630| 44 65 6c 4d 61 70 73 3b | 0d 0a 6c 6f 63 61 6c 20 |DelMaps;|..local |
|00001640| 69 6e 74 20 69 2c 20 6a | 3b 0d 0a 0d 0a 09 53 70 |int i, j|;.....Sp|
|00001650| 6c 69 74 28 4d 61 70 4d | 61 73 6b 2c 20 22 20 22 |lit(MapM|ask, " "|
|00001660| 2c 20 46 6f 75 6e 64 4d | 61 73 6b 73 29 3b 0d 0a |, FoundM|asks);..|
|00001670| 09 0d 0a 09 69 66 20 28 | 46 6f 75 6e 64 4d 61 73 |....if (|FoundMas|
|00001680| 6b 73 2e 4c 65 6e 67 74 | 68 20 3e 20 30 29 0d 0a |ks.Lengt|h > 0)..|
|00001690| 09 7b 0d 0a 09 09 66 6f | 72 20 28 69 3d 30 3b 20 |.{....fo|r (i=0; |
|000016a0| 69 3c 4d 61 70 73 2e 4d | 61 70 73 2e 4c 65 6e 67 |i<Maps.M|aps.Leng|
|000016b0| 74 68 3b 20 69 2b 2b 29 | 0d 0a 09 09 7b 0d 0a 09 |th; i++)|....{...|
|000016c0| 09 09 66 6f 72 20 28 6a | 3d 30 3b 20 6a 3c 46 6f |..for (j|=0; j<Fo|
|000016d0| 75 6e 64 4d 61 73 6b 73 | 2e 4c 65 6e 67 74 68 3b |undMasks|.Length;|
|000016e0| 20 6a 2b 2b 29 0d 0a 09 | 09 09 7b 0d 0a 09 09 09 | j++)...|..{.....|
|000016f0| 09 69 66 20 28 4d 61 73 | 6b 65 64 43 6f 6d 70 61 |.if (Mas|kedCompa|
|00001700| 72 65 28 4d 61 70 73 2e | 4d 61 70 73 5b 69 5d 2c |re(Maps.|Maps[i],|
|00001710| 20 46 6f 75 6e 64 4d 61 | 73 6b 73 5b 6a 5d 29 29 | FoundMa|sks[j]))|
|00001720| 0d 0a 09 09 09 09 7b 0d | 0a 09 09 09 09 09 44 65 |......{.|......De|
|00001730| 6c 4d 61 70 73 5b 44 65 | 6c 4d 61 70 73 2e 4c 65 |lMaps[De|lMaps.Le|
|00001740| 6e 67 74 68 5d 20 3d 20 | 4d 61 70 73 2e 4d 61 70 |ngth] = |Maps.Map|
|00001750| 73 5b 69 5d 3b 0d 0a 09 | 09 09 09 09 4d 61 70 73 |s[i];...|....Maps|
|00001760| 2e 4d 61 70 73 2e 52 65 | 6d 6f 76 65 28 69 2c 20 |.Maps.Re|move(i, |
|00001770| 31 29 3b 0d 0a 09 09 09 | 09 09 69 2d 2d 3b 0d 0a |1);.....|..i--;..|
|00001780| 09 09 09 09 09 62 72 65 | 61 6b 3b 0d 0a 09 09 09 |.....bre|ak;.....|
|00001790| 09 7d 0d 0a 09 09 09 7d | 0d 0a 09 09 7d 0d 0a 09 |.}.....}|....}...|
|000017a0| 7d 0d 0a 09 72 65 74 75 | 72 6e 20 44 65 6c 4d 61 |}...retu|rn DelMa|
|000017b0| 70 73 3b 0d 0a 7d 0d 0a | 0d 0a 66 75 6e 63 74 69 |ps;..}..|..functi|
|000017c0| 6f 6e 20 61 72 72 61 79 | 3c 73 74 72 69 6e 67 3e |on array|<string>|
|000017d0| 20 46 69 6e 64 4d 61 70 | 73 28 73 74 72 69 6e 67 | FindMap|s(string|
|000017e0| 20 4d 61 70 4d 61 73 6b | 29 0d 0a 7b 0d 0a 6c 6f | MapMask|)..{..lo|
|000017f0| 63 61 6c 20 61 72 72 61 | 79 3c 73 74 72 69 6e 67 |cal arra|y<string|
|00001800| 3e 20 46 6f 75 6e 64 4d | 61 73 6b 73 2c 20 46 6f |> FoundM|asks, Fo|
|00001810| 75 6e 64 4d 61 70 73 3b | 0d 0a 6c 6f 63 61 6c 20 |undMaps;|..local |
|00001820| 69 6e 74 20 69 2c 20 6a | 2c 20 6b 3b 0d 0a 6c 6f |int i, j|, k;..lo|
|00001830| 63 61 6c 20 62 6f 6f 6c | 20 62 46 6f 75 6e 64 3b |cal bool| bFound;|
|00001840| 0d 0a 0d 0a 09 53 70 6c | 69 74 28 4d 61 70 4d 61 |.....Spl|it(MapMa|
|00001850| 73 6b 2c 20 22 20 22 2c | 20 46 6f 75 6e 64 4d 61 |sk, " ",| FoundMa|
|00001860| 73 6b 73 29 3b 0d 0a 09 | 0d 0a 09 69 66 20 28 46 |sks);...|...if (F|
|00001870| 6f 75 6e 64 4d 61 73 6b | 73 2e 4c 65 6e 67 74 68 |oundMask|s.Length|
|00001880| 20 3e 20 30 29 0d 0a 09 | 7b 0d 0a 09 09 66 6f 72 | > 0)...|{....for|
|00001890| 20 28 69 20 3d 20 30 3b | 20 69 3c 41 6c 6c 4d 61 | (i = 0;| i<AllMa|
|000018a0| 70 73 2e 4c 65 6e 67 74 | 68 3b 20 69 2b 2b 29 0d |ps.Lengt|h; i++).|
|000018b0| 0a 09 09 7b 0d 0a 09 09 | 09 66 6f 72 20 28 6a 20 |...{....|.for (j |
|000018c0| 3d 20 30 3b 20 6a 3c 46 | 6f 75 6e 64 4d 61 73 6b |= 0; j<F|oundMask|
|000018d0| 73 2e 4c 65 6e 67 74 68 | 3b 20 6a 2b 2b 29 0d 0a |s.Length|; j++)..|
|000018e0| 09 09 09 7b 0d 0a 09 09 | 09 09 69 66 20 28 4d 61 |...{....|..if (Ma|
|000018f0| 73 6b 65 64 43 6f 6d 70 | 61 72 65 28 41 6c 6c 4d |skedComp|are(AllM|
|00001900| 61 70 73 5b 69 5d 2c 20 | 46 6f 75 6e 64 4d 61 73 |aps[i], |FoundMas|
|00001910| 6b 73 5b 6a 5d 29 29 0d | 0a 09 09 09 09 7b 0d 0a |ks[j])).|.....{..|
|00001920| 09 09 09 09 09 2f 2f 20 | 46 6f 75 6e 64 20 61 20 |.....// |Found a |
|00001930| 6d 61 74 63 68 69 6e 67 | 20 6d 61 70 2c 20 73 65 |matching| map, se|
|00001940| 65 20 69 66 20 69 74 73 | 20 61 6c 72 65 61 64 79 |e if its| already|
|00001950| 20 69 6e 20 74 68 65 20 | 55 73 65 64 20 4d 61 70 | in the |Used Map|
|00001960| 73 20 6c 69 73 74 0d 0a | 09 09 09 09 09 62 46 6f |s list..|.....bFo|
|00001970| 75 6e 64 20 3d 20 66 61 | 6c 73 65 3b 0d 0a 09 09 |und = fa|lse;....|
|00001980| 09 09 09 66 6f 72 20 28 | 6b 20 3d 20 30 3b 20 6b |...for (|k = 0; k|
|00001990| 3c 4d 61 70 73 2e 4d 61 | 70 73 2e 4c 65 6e 67 74 |<Maps.Ma|ps.Lengt|
|000019a0| 68 3b 20 6b 2b 2b 29 0d | 0a 09 09 09 09 09 7b 0d |h; k++).|......{.|
|000019b0| 0a 09 09 09 09 09 09 69 | 66 20 28 4d 61 70 73 2e |.......i|f (Maps.|
|000019c0| 4d 61 70 73 5b 6b 5d 20 | 7e 3d 20 41 6c 6c 4d 61 |Maps[k] |~= AllMa|
|000019d0| 70 73 5b 69 5d 29 0d 0a | 09 09 09 09 09 09 7b 0d |ps[i])..|......{.|
|000019e0| 0a 09 09 09 09 09 09 09 | 4c 6f 67 28 22 46 6f 75 |........|Log("Fou|
|000019f0| 6e 64 20 74 68 65 20 6d | 61 70 22 29 3b 0d 0a 09 |nd the m|ap");...|
|00001a00| 09 09 09 09 09 09 62 46 | 6f 75 6e 64 20 3d 20 74 |......bF|ound = t|
|00001a10| 72 75 65 3b 0d 0a 09 09 | 09 09 09 09 09 62 72 65 |rue;....|.....bre|
|00001a20| 61 6b 3b 0d 0a 09 09 09 | 09 09 09 7d 0d 0a 09 09 |ak;.....|...}....|
|00001a30| 09 09 09 7d 0d 0a 0d 0a | 09 09 09 09 09 69 66 20 |...}....|.....if |
|00001a40| 28 62 46 6f 75 6e 64 29 | 0d 0a 09 09 09 09 09 09 |(bFound)|........|
|00001a50| 46 6f 75 6e 64 4d 61 70 | 73 5b 46 6f 75 6e 64 4d |FoundMap|s[FoundM|
|00001a60| 61 70 73 2e 4c 65 6e 67 | 74 68 5d 20 3d 20 22 2b |aps.Leng|th] = "+|
|00001a70| 22 24 41 6c 6c 4d 61 70 | 73 5b 69 5d 3b 0d 0a 09 |"$AllMap|s[i];...|
|00001a80| 09 09 09 09 65 6c 73 65 | 0d 0a 09 09 09 09 09 09 |....else|........|
|00001a90| 46 6f 75 6e 64 4d 61 70 | 73 5b 46 6f 75 6e 64 4d |FoundMap|s[FoundM|
|00001aa0| 61 70 73 2e 4c 65 6e 67 | 74 68 5d 20 3d 20 41 6c |aps.Leng|th] = Al|
|00001ab0| 6c 4d 61 70 73 5b 69 5d | 3b 0d 0a 0d 0a 09 09 09 |lMaps[i]|;.......|
|00001ac0| 09 09 62 72 65 61 6b 3b | 0d 0a 09 09 09 09 7d 0d |..break;|......}.|
|00001ad0| 0a 09 09 09 7d 0d 0a 09 | 09 7d 0d 0a 09 7d 0d 0a |....}...|.}...}..|
|00001ae0| 09 72 65 74 75 72 6e 20 | 46 6f 75 6e 64 4d 61 70 |.return |FoundMap|
|00001af0| 73 3b 0d 0a 7d 0d 0a 0d | 0a 66 75 6e 63 74 69 6f |s;..}...|.functio|
|00001b00| 6e 20 45 6e 67 69 6e 65 | 2e 4d 61 70 4c 69 73 74 |n Engine|.MapList|
|00001b10| 20 47 65 74 4d 61 70 73 | 28 29 0d 0a 7b 0d 0a 09 | GetMaps|()..{...|
|00001b20| 72 65 74 75 72 6e 20 4d | 61 70 73 3b 0d 0a 7d 0d |return M|aps;..}.|
|00001b30| 0a 0d 0a 0d 0a 2f 2f 20 | 4d 75 74 61 74 6f 72 20 |.....// |Mutator |
|00001b40| 6c 69 73 74 20 66 75 6e | 63 74 69 6f 6e 73 0d 0a |list fun|ctions..|
|00001b50| 66 75 6e 63 74 69 6f 6e | 20 61 72 72 61 79 3c 73 |function| array<s|
|00001b60| 74 72 69 6e 67 3e 20 47 | 65 74 55 73 65 64 4d 75 |tring> G|etUsedMu|
|00001b70| 74 61 74 6f 72 73 28 29 | 0d 0a 7b 0d 0a 6c 6f 63 |tators()|..{..loc|
|00001b80| 61 6c 20 61 72 72 61 79 | 3c 73 74 72 69 6e 67 3e |al array|<string>|
|00001b90| 09 53 74 72 69 6e 67 73 | 3b 0d 0a 6c 6f 63 61 6c |.Strings|;..local|
|00001ba0| 20 69 6e 74 20 69 3b 0d | 0a 0d 0a 09 66 6f 72 20 | int i;.|....for |
|00001bb0| 28 69 20 3d 20 30 3b 20 | 69 3c 55 73 65 64 4d 75 |(i = 0; |i<UsedMu|
|00001bc0| 74 61 74 6f 72 73 2e 4c | 65 6e 67 74 68 3b 20 69 |tators.L|ength; i|
|00001bd0| 2b 2b 29 0d 0a 09 09 53 | 74 72 69 6e 67 73 5b 53 |++)....S|trings[S|
|00001be0| 74 72 69 6e 67 73 2e 4c | 65 6e 67 74 68 5d 20 3d |trings.L|ength] =|
|00001bf0| 20 41 6c 6c 4d 75 74 61 | 74 6f 72 73 5b 55 73 65 | AllMuta|tors[Use|
|00001c00| 64 4d 75 74 61 74 6f 72 | 73 5b 69 5d 5d 3b 0d 0a |dMutator|s[i]];..|
|00001c10| 0d 0a 09 72 65 74 75 72 | 6e 20 53 74 72 69 6e 67 |...retur|n String|
|00001c20| 73 3b 0d 0a 7d 0d 0a 0d | 0a 66 75 6e 63 74 69 6f |s;..}...|.functio|
|00001c30| 6e 20 61 72 72 61 79 3c | 73 74 72 69 6e 67 3e 20 |n array<|string> |
|00001c40| 47 65 74 55 6e 75 73 65 | 64 4d 75 74 61 74 6f 72 |GetUnuse|dMutator|
|00001c50| 73 28 29 0d 0a 7b 0d 0a | 6c 6f 63 61 6c 20 61 72 |s()..{..|local ar|
|00001c60| 72 61 79 3c 73 74 72 69 | 6e 67 3e 20 53 74 72 69 |ray<stri|ng> Stri|
|00001c70| 6e 67 73 3b 0d 0a 6c 6f | 63 61 6c 20 69 6e 74 20 |ngs;..lo|cal int |
|00001c80| 69 3b 0d 0a 0d 0a 09 53 | 74 72 69 6e 67 73 2e 4c |i;.....S|trings.L|
|00001c90| 65 6e 67 74 68 20 3d 20 | 41 6c 6c 4d 75 74 61 74 |ength = |AllMutat|
|00001ca0| 6f 72 73 2e 4c 65 6e 67 | 74 68 3b 0d 0a 09 66 6f |ors.Leng|th;...fo|
|00001cb0| 72 20 28 69 20 3d 20 30 | 3b 20 69 3c 41 6c 6c 4d |r (i = 0|; i<AllM|
|00001cc0| 75 74 61 74 6f 72 73 2e | 4c 65 6e 67 74 68 3b 20 |utators.|Length; |
|00001cd0| 69 2b 2b 29 0d 0a 09 09 | 53 74 72 69 6e 67 73 5b |i++)....|Strings[|
|00001ce0| 69 5d 20 3d 20 41 6c 6c | 4d 75 74 61 74 6f 72 73 |i] = All|Mutators|
|00001cf0| 5b 69 5d 3b 0d 0a 0d 0a | 09 2f 2f 20 54 61 67 20 |[i];....|.// Tag |
|00001d00| 61 6c 6c 20 75 73 65 64 | 20 6d 75 74 61 74 6f 72 |all used| mutator|
|00001d10| 73 0d 0a 09 66 6f 72 20 | 28 69 20 3d 20 30 3b 20 |s...for |(i = 0; |
|00001d20| 69 3c 55 73 65 64 4d 75 | 74 61 74 6f 72 73 2e 4c |i<UsedMu|tators.L|
|00001d30| 65 6e 67 74 68 3b 20 69 | 2b 2b 29 0d 0a 09 09 53 |ength; i|++)....S|
|00001d40| 74 72 69 6e 67 73 5b 55 | 73 65 64 4d 75 74 61 74 |trings[U|sedMutat|
|00001d50| 6f 72 73 5b 69 5d 5d 20 | 3d 20 22 22 3b 0d 0a 0d |ors[i]] |= "";...|
|00001d60| 0a 09 66 6f 72 20 28 69 | 20 3d 20 30 3b 20 69 3c |..for (i| = 0; i<|
|00001d70| 53 74 72 69 6e 67 73 2e | 4c 65 6e 67 74 68 3b 20 |Strings.|Length; |
|00001d80| 69 2b 2b 29 0d 0a 09 7b | 0d 0a 09 09 69 66 20 28 |i++)...{|....if (|
|00001d90| 53 74 72 69 6e 67 73 5b | 69 5d 20 3d 3d 20 22 22 |Strings[|i] == ""|
|00001da0| 29 0d 0a 09 09 7b 0d 0a | 09 09 09 53 74 72 69 6e |)....{..|...Strin|
|00001db0| 67 73 2e 52 65 6d 6f 76 | 65 28 69 2c 20 31 29 3b |gs.Remov|e(i, 1);|
|00001dc0| 0d 0a 09 09 09 69 2d 2d | 3b 0d 0a 09 09 7d 0d 0a |.....i--|;....}..|
|00001dd0| 09 7d 0d 0a 09 72 65 74 | 75 72 6e 20 53 74 72 69 |.}...ret|urn Stri|
|00001de0| 6e 67 73 3b 0d 0a 7d 0d | 0a 0d 0a 66 75 6e 63 74 |ngs;..}.|...funct|
|00001df0| 69 6f 6e 20 62 6f 6f 6c | 20 41 64 64 4d 75 74 61 |ion bool| AddMuta|
|00001e00| 74 6f 72 28 73 74 72 69 | 6e 67 20 4d 75 74 61 74 |tor(stri|ng Mutat|
|00001e10| 6f 72 4e 61 6d 65 29 0d | 0a 7b 0d 0a 6c 6f 63 61 |orName).|.{..loca|
|00001e20| 6c 20 69 6e 74 20 69 2c | 20 6a 3b 0d 0a 6c 6f 63 |l int i,| j;..loc|
|00001e30| 61 6c 20 73 74 72 69 6e | 67 20 53 74 72 3b 0d 0a |al strin|g Str;..|
|00001e40| 0d 0a 09 2f 2f 20 46 69 | 72 73 74 20 6d 61 6b 65 |...// Fi|rst make|
|00001e50| 20 73 75 72 65 20 69 74 | 20 69 73 6e 74 20 69 6e | sure it| isnt in|
|00001e60| 20 74 68 65 20 6c 69 73 | 74 0d 0a 09 66 6f 72 20 | the lis|t...for |
|00001e70| 28 69 20 3d 20 30 3b 20 | 69 3c 41 6c 6c 4d 75 74 |(i = 0; |i<AllMut|
|00001e80| 61 74 6f 72 73 2e 4c 65 | 6e 67 74 68 3b 20 69 2b |ators.Le|ngth; i+|
|00001e90| 2b 29 0d 0a 09 7b 0d 0a | 09 09 53 74 72 20 3d 20 |+)...{..|..Str = |
|00001ea0| 41 6c 6c 4d 75 74 61 74 | 6f 72 73 5b 69 5d 3b 0d |AllMutat|ors[i];.|
|00001eb0| 0a 09 09 69 66 20 28 53 | 74 72 20 7e 3d 20 4d 75 |...if (S|tr ~= Mu|
|00001ec0| 74 61 74 6f 72 4e 61 6d | 65 20 7c 7c 20 52 69 67 |tatorNam|e || Rig|
|00001ed0| 68 74 28 53 74 72 2c 20 | 4c 65 6e 28 4d 75 74 61 |ht(Str, |Len(Muta|
|00001ee0| 74 6f 72 4e 61 6d 65 29 | 20 2b 20 31 29 20 7e 3d |torName)| + 1) ~=|
|00001ef0| 20 28 22 2e 22 24 4d 75 | 74 61 74 6f 72 4e 61 6d | ("."$Mu|tatorNam|
|00001f00| 65 29 29 0d 0a 09 09 7b | 0d 0a 09 09 09 66 6f 72 |e))....{|.....for|
|00001f10| 20 28 6a 3d 30 3b 20 6a | 3c 55 73 65 64 4d 75 74 | (j=0; j|<UsedMut|
|00001f20| 61 74 6f 72 73 2e 4c 65 | 6e 67 74 68 3b 20 6a 2b |ators.Le|ngth; j+|
|00001f30| 2b 29 0d 0a 09 09 09 09 | 69 66 20 28 55 73 65 64 |+)......|if (Used|
|00001f40| 4d 75 74 61 74 6f 72 73 | 5b 6a 5d 20 3d 3d 20 69 |Mutators|[j] == i|
|00001f50| 29 0d 0a 09 09 09 09 09 | 72 65 74 75 72 6e 20 66 |).......|return f|
|00001f60| 61 6c 73 65 3b 0d 0a 0d | 0a 09 09 09 55 73 65 64 |alse;...|....Used|
|00001f70| 4d 75 74 61 74 6f 72 73 | 5b 55 73 65 64 4d 75 74 |Mutators|[UsedMut|
|00001f80| 61 74 6f 72 73 2e 4c 65 | 6e 67 74 68 5d 20 3d 20 |ators.Le|ngth] = |
|00001f90| 69 3b 0d 0a 09 09 09 72 | 65 74 75 72 6e 20 74 72 |i;.....r|eturn tr|
|00001fa0| 75 65 3b 0d 0a 09 09 7d | 0d 0a 09 7d 0d 0a 09 72 |ue;....}|...}...r|
|00001fb0| 65 74 75 72 6e 20 66 61 | 6c 73 65 3b 0d 0a 7d 0d |eturn fa|lse;..}.|
|00001fc0| 0a 0d 0a 66 75 6e 63 74 | 69 6f 6e 20 62 6f 6f 6c |...funct|ion bool|
|00001fd0| 20 44 65 6c 4d 75 74 61 | 74 6f 72 28 73 74 72 69 | DelMuta|tor(stri|
|00001fe0| 6e 67 20 4d 75 74 61 74 | 6f 72 4e 61 6d 65 29 0d |ng Mutat|orName).|
|00001ff0| 0a 7b 0d 0a 6c 6f 63 61 | 6c 20 69 6e 74 20 69 3b |.{..loca|l int i;|
|00002000| 0d 0a 6c 6f 63 61 6c 20 | 73 74 72 69 6e 67 20 53 |..local |string S|
|00002010| 74 72 3b 0d 0a 0d 0a 09 | 2f 2f 20 46 69 72 73 74 |tr;.....|// First|
|00002020| 20 6d 61 6b 65 20 73 75 | 72 65 20 69 74 20 69 73 | make su|re it is|
|00002030| 6e 74 20 69 6e 20 74 68 | 65 20 6c 69 73 74 0d 0a |nt in th|e list..|
|00002040| 09 66 6f 72 20 28 69 20 | 3d 20 30 3b 20 69 3c 55 |.for (i |= 0; i<U|
|00002050| 73 65 64 4d 75 74 61 74 | 6f 72 73 2e 4c 65 6e 67 |sedMutat|ors.Leng|
|00002060| 74 68 3b 20 69 2b 2b 29 | 0d 0a 09 7b 0d 0a 09 09 |th; i++)|...{....|
|00002070| 53 74 72 20 3d 20 41 6c | 6c 4d 75 74 61 74 6f 72 |Str = Al|lMutator|
|00002080| 73 5b 55 73 65 64 4d 75 | 74 61 74 6f 72 73 5b 69 |s[UsedMu|tators[i|
|00002090| 5d 5d 3b 0d 0a 09 09 69 | 66 20 28 53 74 72 20 7e |]];....i|f (Str ~|
|000020a0| 3d 20 4d 75 74 61 74 6f | 72 4e 61 6d 65 20 7c 7c |= Mutato|rName |||
|000020b0| 20 52 69 67 68 74 28 53 | 74 72 2c 20 4c 65 6e 28 | Right(S|tr, Len(|
|000020c0| 4d 75 74 61 74 6f 72 4e | 61 6d 65 29 20 2b 20 31 |MutatorN|ame) + 1|
|000020d0| 29 20 7e 3d 20 28 22 2e | 22 24 4d 75 74 61 74 6f |) ~= (".|"$Mutato|
|000020e0| 72 4e 61 6d 65 29 29 0d | 0a 09 09 7b 0d 0a 09 09 |rName)).|...{....|
|000020f0| 09 55 73 65 64 4d 75 74 | 61 74 6f 72 73 2e 52 65 |.UsedMut|ators.Re|
|00002100| 6d 6f 76 65 28 69 2c 20 | 31 29 3b 0d 0a 09 09 09 |move(i, |1);.....|
|00002110| 72 65 74 75 72 6e 20 74 | 72 75 65 3b 0d 0a 09 09 |return t|rue;....|
|00002120| 7d 0d 0a 09 7d 0d 0a 09 | 72 65 74 75 72 6e 20 66 |}...}...|return f|
|00002130| 61 6c 73 65 3b 0d 0a 7d | 0d 0a 0d 0a 2f 2f 2f 2f |alse;..}|....////|
|00002140| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00002150| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 0d 0a 2f 2f |////////|////..//|
|00002160| 20 50 75 62 6c 69 63 20 | 49 6e 66 6f 72 6d 61 74 | Public |Informat|
|00002170| 69 6f 6e 0d 0a 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |ion..///|////////|
|00002180| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00002190| 2f 2f 2f 2f 2f 0d 0a 0d | 0a 66 75 6e 63 74 69 6f |/////...|.functio|
|000021a0| 6e 20 73 74 72 69 6e 67 | 20 47 65 74 45 64 69 74 |n string| GetEdit|
|000021b0| 65 64 43 6c 61 73 73 28 | 29 0d 0a 7b 0d 0a 09 69 |edClass(|)..{...i|
|000021c0| 66 20 28 47 61 6d 65 43 | 6c 61 73 73 20 21 3d 20 |f (GameC|lass != |
|000021d0| 4e 6f 6e 65 29 0d 0a 09 | 09 72 65 74 75 72 6e 20 |None)...|.return |
|000021e0| 53 74 72 69 6e 67 28 47 | 61 6d 65 43 6c 61 73 73 |String(G|ameClass|
|000021f0| 29 3b 0d 0a 0d 0a 09 72 | 65 74 75 72 6e 20 22 22 |);.....r|eturn ""|
|00002200| 3b 0d 0a 7d 0d 0a 0d 0a | 66 75 6e 63 74 69 6f 6e |;..}....|function|
|00002210| 20 73 74 72 69 6e 67 20 | 47 65 74 47 61 6d 65 41 | string |GetGameA|
|00002220| 63 72 6f 6e 79 6d 28 29 | 0d 0a 7b 0d 0a 09 69 66 |cronym()|..{...if|
|00002230| 20 28 47 61 6d 65 43 6c | 61 73 73 20 21 3d 20 4e | (GameCl|ass != N|
|00002240| 6f 6e 65 29 0d 0a 09 09 | 72 65 74 75 72 6e 20 47 |one)....|return G|
|00002250| 61 6d 65 43 6c 61 73 73 | 2e 64 65 66 61 75 6c 74 |ameClass|.default|
|00002260| 2e 41 63 72 6f 6e 79 6d | 3b 0d 0a 0d 0a 09 72 65 |.Acronym|;.....re|
|00002270| 74 75 72 6e 20 22 22 3b | 0d 0a 7d 0d 0a 0d 0a 2f |turn "";|..}..../|
|00002280| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00002290| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 0d |////////|///////.|
|000022a0| 0a 2f 2f 20 50 72 6f 74 | 65 63 74 65 64 20 48 65 |.// Prot|ected He|
|000022b0| 6c 70 69 6e 67 20 66 75 | 6e 63 74 69 6f 6e 73 0d |lping fu|nctions.|
|000022c0| 0a 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |.///////|////////|
|000022d0| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|000022e0| 2f 0d 0a 0d 0a 70 72 6f | 74 65 63 74 65 64 20 66 |/....pro|tected f|
|000022f0| 75 6e 63 74 69 6f 6e 20 | 4c 6f 61 64 47 61 6d 65 |unction |LoadGame|
|00002300| 54 79 70 65 73 28 29 0d | 0a 7b 0d 0a 20 20 20 20 |Types().|.{.. |
|00002310| 2f 2f 20 6c 6f 61 64 20 | 6c 69 73 74 20 6f 66 20 |// load |list of |
|00002320| 67 61 6d 65 20 74 79 70 | 65 73 0d 0a 20 20 20 20 |game typ|es.. |
|00002330| 0d 0a 20 20 20 20 6c 6f | 63 61 6c 20 69 6e 74 20 |.. lo|cal int |
|00002340| 69 3b 0d 0a 20 20 20 20 | 6c 6f 63 61 6c 20 63 6c |i;.. |local cl|
|00002350| 61 73 73 3c 47 61 6d 65 | 49 6e 66 6f 3e 20 67 61 |ass<Game|Info> ga|
|00002360| 6d 65 43 6c 61 73 73 3b | 0d 0a 20 20 20 20 6c 6f |meClass;|.. lo|
|00002370| 63 61 6c 20 61 72 72 61 | 79 3c 47 61 6d 65 70 6c |cal arra|y<Gamepl|
|00002380| 61 79 2e 55 74 69 6c 69 | 74 79 2e 47 61 6d 65 44 |ay.Utili|ty.GameD|
|00002390| 61 74 61 3e 20 67 61 6d | 65 54 79 70 65 73 3b 0d |ata> gam|eTypes;.|
|000023a0| 0a 20 20 20 20 0d 0a 20 | 20 20 20 63 6c 61 73 73 |. .. | class|
|000023b0| 27 47 61 6d 65 70 6c 61 | 79 2e 55 74 69 6c 69 74 |'Gamepla|y.Utilit|
|000023c0| 79 27 2e 73 74 61 74 69 | 63 2e 73 6d 61 72 74 52 |y'.stati|c.smartR|
|000023d0| 65 66 72 65 73 68 28 29 | 3b 0d 0a 20 20 20 20 63 |efresh()|;.. c|
|000023e0| 6c 61 73 73 27 47 61 6d | 65 70 6c 61 79 2e 55 74 |lass'Gam|eplay.Ut|
|000023f0| 69 6c 69 74 79 27 2e 73 | 74 61 74 69 63 2e 67 65 |ility'.s|tatic.ge|
|00002400| 74 47 61 6d 65 54 79 70 | 65 4c 69 73 74 28 67 61 |tGameTyp|eList(ga|
|00002410| 6d 65 54 79 70 65 73 29 | 3b 0d 0a 20 20 20 20 0d |meTypes)|;.. .|
|00002420| 0a 20 20 20 20 41 6c 6c | 47 61 6d 65 54 79 70 65 |. All|GameType|
|00002430| 73 2e 6c 65 6e 67 74 68 | 20 3d 20 30 3b 0d 0a 20 |s.length| = 0;.. |
|00002440| 20 20 20 0d 0a 20 20 20 | 20 66 6f 72 20 28 69 3d | .. | for (i=|
|00002450| 30 3b 20 69 3c 67 61 6d | 65 54 79 70 65 73 2e 6c |0; i<gam|eTypes.l|
|00002460| 65 6e 67 74 68 3b 20 69 | 2b 2b 29 0d 0a 20 20 20 |ength; i|++).. |
|00002470| 20 7b 0d 0a 09 09 67 61 | 6d 65 43 6c 61 73 73 20 | {....ga|meClass |
|00002480| 3d 20 63 6c 61 73 73 3c | 47 61 6d 65 49 6e 66 6f |= class<|GameInfo|
|00002490| 3e 28 44 79 6e 61 6d 69 | 63 4c 6f 61 64 4f 62 6a |>(Dynami|cLoadObj|
|000024a0| 65 63 74 28 67 61 6d 65 | 54 79 70 65 73 5b 69 5d |ect(game|Types[i]|
|000024b0| 2e 63 6c 61 73 73 4e 61 | 6d 65 2c 20 63 6c 61 73 |.classNa|me, clas|
|000024c0| 73 27 43 6c 61 73 73 27 | 29 29 3b 0d 0a 09 09 0d |s'Class'|));.....|
|000024d0| 0a 09 09 69 66 20 28 67 | 61 6d 65 43 6c 61 73 73 |...if (g|ameClass|
|000024e0| 21 3d 4e 6f 6e 65 29 0d | 0a 09 09 09 41 6c 6c 47 |!=None).|....AllG|
|000024f0| 61 6d 65 54 79 70 65 73 | 5b 41 6c 6c 47 61 6d 65 |ameTypes|[AllGame|
|00002500| 54 79 70 65 73 2e 4c 65 | 6e 67 74 68 5d 20 3d 20 |Types.Le|ngth] = |
|00002510| 67 61 6d 65 43 6c 61 73 | 73 3b 0d 0a 20 20 20 20 |gameClas|s;.. |
|00002520| 7d 0d 0a 7d 0d 0a 0d 0a | 70 72 6f 74 65 63 74 65 |}..}....|protecte|
|00002530| 64 20 66 75 6e 63 74 69 | 6f 6e 20 43 6f 72 65 2e |d functi|on Core.|
|00002540| 43 6c 61 73 73 3c 45 6e | 67 69 6e 65 2e 47 61 6d |Class<En|gine.Gam|
|00002550| 65 49 6e 66 6f 3e 20 46 | 69 6e 64 47 61 6d 65 54 |eInfo> F|indGameT|
|00002560| 79 70 65 28 73 74 72 69 | 6e 67 20 47 61 6d 65 54 |ype(stri|ng GameT|
|00002570| 79 70 65 29 0d 0a 7b 0d | 0a 6c 6f 63 61 6c 20 43 |ype)..{.|.local C|
|00002580| 6f 72 65 2e 43 6c 61 73 | 73 3c 45 6e 67 69 6e 65 |ore.Clas|s<Engine|
|00002590| 2e 47 61 6d 65 49 6e 66 | 6f 3e 20 54 65 6d 70 43 |.GameInf|o> TempC|
|000025a0| 6c 61 73 73 3b 0d 0a 6c | 6f 63 61 6c 20 69 6e 74 |lass;..l|ocal int|
|000025b0| 20 69 3b 0d 0a 0d 0a 09 | 54 65 6d 70 43 6c 61 73 | i;.....|TempClas|
|000025c0| 73 20 3d 20 4e 6f 6e 65 | 3b 0d 0a 09 66 6f 72 20 |s = None|;...for |
|000025d0| 28 69 3d 30 3b 20 69 3c | 41 6c 6c 47 61 6d 65 54 |(i=0; i<|AllGameT|
|000025e0| 79 70 65 73 2e 4c 65 6e | 67 74 68 3b 20 69 2b 2b |ypes.Len|gth; i++|
|000025f0| 29 0d 0a 09 7b 0d 0a 09 | 09 54 65 6d 70 43 6c 61 |)...{...|.TempCla|
|00002600| 73 73 20 3d 20 41 6c 6c | 47 61 6d 65 54 79 70 65 |ss = All|GameType|
|00002610| 73 5b 69 5d 3b 0d 0a 09 | 09 69 66 20 28 47 61 6d |s[i];...|.if (Gam|
|00002620| 65 54 79 70 65 20 7e 3d | 20 73 74 72 69 6e 67 28 |eType ~=| string(|
|00002630| 54 65 6d 70 43 6c 61 73 | 73 29 29 09 09 09 09 62 |TempClas|s))....b|
|00002640| 72 65 61 6b 3b 0d 0a 09 | 09 69 66 20 28 47 61 6d |reak;...|.if (Gam|
|00002650| 65 54 79 70 65 20 7e 3d | 20 54 65 6d 70 43 6c 61 |eType ~=| TempCla|
|00002660| 73 73 2e 64 65 66 61 75 | 6c 74 2e 41 63 72 6f 6e |ss.defau|lt.Acron|
|00002670| 79 6d 29 09 09 62 72 65 | 61 6b 3b 0d 0a 09 09 69 |ym)..bre|ak;....i|
|00002680| 66 20 28 47 61 6d 65 54 | 79 70 65 20 7e 3d 20 54 |f (GameT|ype ~= T|
|00002690| 65 6d 70 43 6c 61 73 73 | 2e 64 65 66 61 75 6c 74 |empClass|.default|
|000026a0| 2e 44 65 63 6f 54 65 78 | 74 4e 61 6d 65 29 09 62 |.DecoTex|tName).b|
|000026b0| 72 65 61 6b 3b 0d 0a 09 | 09 69 66 20 28 52 69 67 |reak;...|.if (Rig|
|000026c0| 68 74 28 73 74 72 69 6e | 67 28 54 65 6d 70 43 6c |ht(strin|g(TempCl|
|000026d0| 61 73 73 29 2c 20 4c 65 | 6e 28 47 61 6d 65 54 79 |ass), Le|n(GameTy|
|000026e0| 70 65 29 2b 31 29 20 7e | 3d 20 28 22 2e 22 24 47 |pe)+1) ~|= ("."$G|
|000026f0| 61 6d 65 54 79 70 65 29 | 29 09 09 09 62 72 65 61 |ameType)|)...brea|
|00002700| 6b 3b 0d 0a 09 09 69 66 | 20 28 52 69 67 68 74 28 |k;....if| (Right(|
|00002710| 54 65 6d 70 43 6c 61 73 | 73 2e 64 65 66 61 75 6c |TempClas|s.defaul|
|00002720| 74 2e 44 65 63 6f 54 65 | 78 74 4e 61 6d 65 2c 20 |t.DecoTe|xtName, |
|00002730| 4c 65 6e 28 47 61 6d 65 | 54 79 70 65 29 2b 31 29 |Len(Game|Type)+1)|
|00002740| 20 7e 3d 20 28 22 2e 22 | 24 47 61 6d 65 54 79 70 | ~= ("."|$GameTyp|
|00002750| 65 29 29 09 62 72 65 61 | 6b 3b 0d 0a 09 7d 0d 0a |e)).brea|k;...}..|
|00002760| 09 72 65 74 75 72 6e 20 | 54 65 6d 70 43 6c 61 73 |.return |TempClas|
|00002770| 73 3b 0d 0a 7d 0d 0a 0d | 0a 70 72 6f 74 65 63 74 |s;..}...|.protect|
|00002780| 65 64 20 66 75 6e 63 74 | 69 6f 6e 20 4c 6f 61 64 |ed funct|ion Load|
|00002790| 41 6c 6c 4d 75 74 61 74 | 6f 72 73 28 29 0d 0a 7b |AllMutat|ors()..{|
|000027a0| 0d 0a 20 20 20 20 2f 2f | 20 6c 6f 61 64 20 6c 69 |.. //| load li|
|000027b0| 73 74 20 6f 66 20 6d 75 | 74 61 74 6f 72 73 0d 0a |st of mu|tators..|
|000027c0| 0d 0a 20 20 20 20 41 6c | 6c 4d 75 74 61 74 6f 72 |.. Al|lMutator|
|000027d0| 73 2e 6c 65 6e 67 74 68 | 20 3d 20 30 3b 0d 0a 20 |s.length| = 0;.. |
|000027e0| 20 20 20 0d 0a 20 20 20 | 20 63 6c 61 73 73 27 47 | .. | class'G|
|000027f0| 61 6d 65 70 6c 61 79 2e | 55 74 69 6c 69 74 79 27 |ameplay.|Utility'|
|00002800| 2e 73 74 61 74 69 63 2e | 73 6d 61 72 74 52 65 66 |.static.|smartRef|
|00002810| 72 65 73 68 28 29 3b 0d | 0a 20 20 20 20 63 6c 61 |resh();.|. cla|
|00002820| 73 73 27 47 61 6d 65 70 | 6c 61 79 2e 55 74 69 6c |ss'Gamep|lay.Util|
|00002830| 69 74 79 27 2e 73 74 61 | 74 69 63 2e 67 65 74 4d |ity'.sta|tic.getM|
|00002840| 75 74 61 74 6f 72 4c 69 | 73 74 28 4c 65 76 65 6c |utatorLi|st(Level|
|00002850| 2c 20 41 6c 6c 4d 75 74 | 61 74 6f 72 73 29 3b 0d |, AllMut|ators);.|
|00002860| 0a 7d 0d 0a 0d 0a 70 72 | 6f 74 65 63 74 65 64 20 |.}....pr|otected |
|00002870| 66 75 6e 63 74 69 6f 6e | 20 53 65 74 55 73 65 64 |function| SetUsed|
|00002880| 4d 75 74 61 74 6f 72 73 | 28 29 0d 0a 7b 0d 0a 09 |Mutators|()..{...|
|00002890| 6c 6f 63 61 6c 20 45 6e | 67 69 6e 65 2e 4d 75 74 |local En|gine.Mut|
|000028a0| 61 74 6f 72 20 4d 3b 0d | 0a 09 6c 6f 63 61 6c 20 |ator M;.|..local |
|000028b0| 69 6e 74 20 69 3b 0d 0a | 0d 0a 09 66 6f 72 20 28 |int i;..|...for (|
|000028c0| 4d 20 3d 20 4c 65 76 65 | 6c 2e 47 61 6d 65 2e 42 |M = Leve|l.Game.B|
|000028d0| 61 73 65 4d 75 74 61 74 | 6f 72 2e 4e 65 78 74 4d |aseMutat|or.NextM|
|000028e0| 75 74 61 74 6f 72 3b 20 | 4d 20 21 3d 20 4e 6f 6e |utator; |M != Non|
|000028f0| 65 3b 20 4d 20 3d 20 4d | 2e 4e 65 78 74 4d 75 74 |e; M = M|.NextMut|
|00002900| 61 74 6f 72 29 0d 0a 09 | 7b 0d 0a 09 09 69 66 20 |ator)...|{....if |
|00002910| 28 4d 2e 62 55 73 65 72 | 41 64 64 65 64 29 0d 0a |(M.bUser|Added)..|
|00002920| 09 09 7b 0d 0a 09 09 09 | 66 6f 72 20 28 69 3d 30 |..{.....|for (i=0|
|00002930| 3b 20 69 3c 41 6c 6c 4d | 75 74 61 74 6f 72 73 2e |; i<AllM|utators.|
|00002940| 4c 65 6e 67 74 68 3b 20 | 69 2b 2b 29 0d 0a 09 09 |Length; |i++)....|
|00002950| 09 09 69 66 20 28 73 74 | 72 69 6e 67 28 4d 2e 43 |..if (st|ring(M.C|
|00002960| 6c 61 73 73 29 20 7e 3d | 20 41 6c 6c 4d 75 74 61 |lass) ~=| AllMuta|
|00002970| 74 6f 72 73 5b 69 5d 29 | 0d 0a 09 09 09 09 09 62 |tors[i])|.......b|
|00002980| 72 65 61 6b 3b 0d 0a 0d | 0a 09 09 09 69 66 20 28 |reak;...|....if (|
|00002990| 69 20 3d 3d 20 41 6c 6c | 4d 75 74 61 74 6f 72 73 |i == All|Mutators|
|000029a0| 2e 4c 65 6e 67 74 68 29 | 0d 0a 09 09 09 7b 0d 0a |.Length)|.....{..|
|000029b0| 09 09 09 09 2f 2f 20 53 | 69 6e 63 65 20 74 68 69 |....// S|ince thi|
|000029c0| 73 20 6d 75 74 61 74 6f | 72 20 68 61 64 20 6e 6f |s mutato|r had no|
|000029d0| 20 2e 69 6e 74 20 65 6e | 74 72 79 2c 20 62 75 74 | .int en|try, but|
|000029e0| 20 69 74 20 77 61 73 20 | 61 64 64 65 64 20 6f 6e | it was |added on|
|000029f0| 20 74 68 65 20 63 6f 6d | 6d 61 6e 64 20 6c 69 6e | the com|mand lin|
|00002a00| 65 0d 0a 09 09 09 09 2f | 2f 20 6c 65 74 73 20 6a |e....../|/ lets j|
|00002a10| 75 73 74 20 61 64 64 20 | 69 74 20 74 6f 20 74 68 |ust add |it to th|
|00002a20| 65 20 6c 69 73 74 2e 0d | 0a 09 09 09 09 41 6c 6c |e list..|.....All|
|00002a30| 4d 75 74 61 74 6f 72 73 | 5b 41 6c 6c 4d 75 74 61 |Mutators|[AllMuta|
|00002a40| 74 6f 72 73 2e 4c 65 6e | 67 74 68 5d 20 3d 20 73 |tors.Len|gth] = s|
|00002a50| 74 72 69 6e 67 28 4d 2e | 43 6c 61 73 73 29 3b 0d |tring(M.|Class);.|
|00002a60| 0a 09 09 09 09 6c 6f 67 | 28 22 55 6e 6b 6e 6f 77 |.....log|("Unknow|
|00002a70| 6e 20 4d 75 74 61 74 6f | 72 20 69 6e 20 75 73 65 |n Mutato|r in use|
|00002a80| 3a 20 22 40 53 74 72 69 | 6e 67 28 4d 2e 43 6c 61 |: "@Stri|ng(M.Cla|
|00002a90| 73 73 29 29 3b 0d 0a 09 | 09 09 7d 0d 0a 0d 0a 09 |ss));...|..}.....|
|00002aa0| 09 09 55 73 65 64 4d 75 | 74 61 74 6f 72 73 5b 55 |..UsedMu|tators[U|
|00002ab0| 73 65 64 4d 75 74 61 74 | 6f 72 73 2e 4c 65 6e 67 |sedMutat|ors.Leng|
|00002ac0| 74 68 5d 20 3d 20 69 3b | 0d 0a 09 09 7d 0d 0a 09 |th] = i;|....}...|
|00002ad0| 7d 0d 0a 7d 0d 0a 0d 0a | 2f 2f 20 41 6c 77 61 79 |}..}....|// Alway|
|00002ae0| 73 20 72 65 6c 6f 61 64 | 20 73 65 74 74 69 6e 67 |s reload| setting|
|00002af0| 73 20 61 74 20 53 74 61 | 72 74 45 64 69 74 28 29 |s at Sta|rtEdit()|
|00002b00| 0d 0a 70 72 6f 74 65 63 | 74 65 64 20 66 75 6e 63 |..protec|ted func|
|00002b10| 74 69 6f 6e 20 73 74 72 | 69 6e 67 20 4c 6f 61 64 |tion str|ing Load|
|00002b20| 53 65 74 74 69 6e 67 73 | 28 63 6c 61 73 73 3c 45 |Settings|(class<E|
|00002b30| 6e 67 69 6e 65 2e 47 61 | 6d 65 49 6e 66 6f 3e 20 |ngine.Ga|meInfo> |
|00002b40| 47 61 6d 65 43 6c 61 73 | 73 29 0d 0a 7b 0d 0a 09 |GameClas|s)..{...|
|00002b50| 69 66 20 28 53 65 74 74 | 69 6e 67 73 20 3d 3d 20 |if (Sett|ings == |
|00002b60| 4e 6f 6e 65 29 0d 0a 09 | 09 53 65 74 74 69 6e 67 |None)...|.Setting|
|00002b70| 73 20 3d 20 6e 65 77 28 | 4e 6f 6e 65 29 20 63 6c |s = new(|None) cl|
|00002b80| 61 73 73 27 50 6c 61 79 | 49 6e 66 6f 27 3b 0d 0a |ass'Play|Info';..|
|00002b90| 0d 0a 09 53 65 74 74 69 | 6e 67 73 2e 43 6c 65 61 |...Setti|ngs.Clea|
|00002ba0| 72 28 29 3b 0d 0a 09 47 | 61 6d 65 43 6c 61 73 73 |r();...G|ameClass|
|00002bb0| 2e 73 74 61 74 69 63 2e | 46 69 6c 6c 50 6c 61 79 |.static.|FillPlay|
|00002bc0| 49 6e 66 6f 28 53 65 74 | 74 69 6e 67 73 29 3b 0d |Info(Set|tings);.|
|00002bd0| 0a 09 72 65 74 75 72 6e | 20 73 74 72 69 6e 67 28 |..return| string(|
|00002be0| 47 61 6d 65 43 6c 61 73 | 73 29 3b 0d 0a 7d 0d 0a |GameClas|s);..}..|
|00002bf0| 0d 0a 2f 2f 20 54 4f 44 | 4f 3a 20 48 61 76 65 20 |..// TOD|O: Have |
|00002c00| 61 20 22 6e 61 74 69 76 | 65 20 61 72 72 61 79 3c |a "nativ|e array<|
|00002c10| 73 74 72 69 6e 67 3e 20 | 4c 6f 61 64 41 6c 6c 4d |string> |LoadAllM|
|00002c20| 61 70 4e 61 6d 65 73 28 | 73 74 72 69 6e 67 20 4d |apNames(|string M|
|00002c30| 61 70 50 72 65 66 69 78 | 29 22 20 73 6f 6d 65 77 |apPrefix|)" somew|
|00002c40| 68 65 72 65 20 3f 0d 0a | 70 72 6f 74 65 63 74 65 |here ?..|protecte|
|00002c50| 64 20 66 75 6e 63 74 69 | 6f 6e 20 4c 6f 61 64 41 |d functi|on LoadA|
|00002c60| 6c 6c 4d 61 70 73 28 6f | 70 74 69 6f 6e 61 6c 20 |llMaps(o|ptional |
|00002c70| 62 6f 6f 6c 20 62 46 6f | 72 63 65 4c 6f 61 64 29 |bool bFo|rceLoad)|
|00002c80| 0d 0a 7b 0d 0a 6c 6f 63 | 61 6c 20 73 74 72 69 6e |..{..loc|al strin|
|00002c90| 67 20 4d 61 70 50 72 65 | 66 69 78 3b 0d 0a 0d 0a |g MapPre|fix;....|
|00002ca0| 09 69 66 20 28 47 61 6d | 65 43 6c 61 73 73 20 3d |.if (Gam|eClass =|
|00002cb0| 3d 20 4e 6f 6e 65 29 0d | 0a 09 09 72 65 74 75 72 |= None).|...retur|
|00002cc0| 6e 3b 0d 0a 09 4c 6f 67 | 28 22 4c 6f 61 64 41 6c |n;...Log|("LoadAl|
|00002cd0| 6c 4d 61 70 73 20 77 61 | 73 20 43 61 6c 6c 65 64 |lMaps wa|s Called|
|00002ce0| 21 21 22 29 3b 0d 0a 09 | 4d 61 70 50 72 65 66 69 |!!");...|MapPrefi|
|00002cf0| 78 20 3d 20 47 61 6d 65 | 43 6c 61 73 73 2e 44 65 |x = Game|Class.De|
|00002d00| 66 61 75 6c 74 2e 4d 61 | 70 50 72 65 66 69 78 3b |fault.Ma|pPrefix;|
|00002d10| 0d 0a 09 69 66 28 4d 61 | 70 50 72 65 66 69 78 20 |...if(Ma|pPrefix |
|00002d20| 21 3d 20 22 22 20 26 26 | 20 28 4d 61 70 50 72 65 |!= "" &&| (MapPre|
|00002d30| 66 69 78 20 21 3d 20 41 | 6c 6c 4d 61 70 73 50 72 |fix != A|llMapsPr|
|00002d40| 65 66 69 78 20 7c 7c 20 | 62 46 6f 72 63 65 4c 6f |efix || |bForceLo|
|00002d50| 61 64 29 20 29 0d 0a 09 | 7b 0d 0a 09 09 47 61 6d |ad) )...|{....Gam|
|00002d60| 65 43 6c 61 73 73 2e 73 | 74 61 74 69 63 2e 4c 6f |eClass.s|tatic.Lo|
|00002d70| 61 64 4d 61 70 4c 69 73 | 74 28 4d 61 70 50 72 65 |adMapLis|t(MapPre|
|00002d80| 66 69 78 2c 20 41 6c 6c | 4d 61 70 73 29 3b 0d 0a |fix, All|Maps);..|
|00002d90| 09 09 41 6c 6c 4d 61 70 | 73 50 72 65 66 69 78 20 |..AllMap|sPrefix |
|00002da0| 3d 20 4d 61 70 50 72 65 | 66 69 78 3b 0d 0a 09 7d |= MapPre|fix;...}|
|00002db0| 0d 0a 7d 0d 0a 0d 0a 2f | 2f 2f 2f 2f 2f 2f 2f 2f |..}..../|////////|
|00002dc0| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00002dd0| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00002de0| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00002df0| 2f 2f 2f 0d 0a 2f 2f 20 | 54 4f 44 4f 3a 20 46 69 |///..// |TODO: Fi|
|00002e00| 6e 64 20 43 65 6e 74 72 | 61 6c 69 7a 65 64 20 70 |nd Centr|alized p|
|00002e10| 6c 61 63 65 20 66 6f 72 | 20 74 68 65 20 66 6f 6c |lace for| the fol|
|00002e20| 6c 6f 77 69 6e 67 20 66 | 75 6e 63 74 69 6f 6e 73 |lowing f|unctions|
|00002e30| 0d 0a 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |..//////|////////|
|00002e40| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00002e50| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00002e60| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 0d 0a |////////|//////..|
|00002e70| 0d 0a 2f 2f 20 4d 61 73 | 6b 20 63 61 6e 20 62 65 |..// Mas|k can be|
|00002e80| 20 2a 7c 2a 4e 61 6d 65 | 7c 4e 61 6d 65 2a 7c 2a | *|*Name||Name*|*|
|00002e90| 4e 61 6d 65 2a 7c 4e 61 | 6d 65 0d 0a 70 72 6f 74 |Name*|Na|me..prot|
|00002ea0| 65 63 74 65 64 20 66 75 | 6e 63 74 69 6f 6e 20 62 |ected fu|nction b|
|00002eb0| 6f 6f 6c 20 4d 61 73 6b | 65 64 43 6f 6d 70 61 72 |ool Mask|edCompar|
|00002ec0| 65 28 73 74 72 69 6e 67 | 20 53 65 74 74 69 6e 67 |e(string| Setting|
|00002ed0| 4e 61 6d 65 2c 20 73 74 | 72 69 6e 67 20 4d 61 73 |Name, st|ring Mas|
|00002ee0| 6b 29 0d 0a 7b 0d 0a 6c | 6f 63 61 6c 20 62 6f 6f |k)..{..l|ocal boo|
|00002ef0| 6c 20 62 4d 61 73 6b 4c | 65 66 74 2c 20 62 4d 61 |l bMaskL|eft, bMa|
|00002f00| 73 6b 52 69 67 68 74 3b | 0d 0a 6c 6f 63 61 6c 20 |skRight;|..local |
|00002f10| 69 6e 74 20 4d 61 73 6b | 4c 65 6e 3b 0d 0a 0d 0a |int Mask|Len;....|
|00002f20| 09 69 66 20 28 4d 61 73 | 6b 20 3d 3d 20 22 2a 22 |.if (Mas|k == "*"|
|00002f30| 20 7c 7c 20 4d 61 73 6b | 20 3d 3d 20 22 2a 2a 22 | || Mask| == "**"|
|00002f40| 29 0d 0a 09 09 72 65 74 | 75 72 6e 20 74 72 75 65 |)....ret|urn true|
|00002f50| 3b 0d 0a 0d 0a 09 4d 61 | 73 6b 4c 65 6e 20 3d 20 |;.....Ma|skLen = |
|00002f60| 4c 65 6e 28 4d 61 73 6b | 29 3b 0d 0a 09 62 4d 61 |Len(Mask|);...bMa|
|00002f70| 73 6b 4c 65 66 74 20 3d | 20 4c 65 66 74 28 4d 61 |skLeft =| Left(Ma|
|00002f80| 73 6b 2c 20 31 29 20 3d | 3d 20 22 2a 22 3b 0d 0a |sk, 1) =|= "*";..|
|00002f90| 09 62 4d 61 73 6b 52 69 | 67 68 74 20 3d 20 52 69 |.bMaskRi|ght = Ri|
|00002fa0| 67 68 74 28 4d 61 73 6b | 2c 20 31 29 20 3d 3d 20 |ght(Mask|, 1) == |
|00002fb0| 22 2a 22 3b 0d 0a 0d 0a | 09 69 66 20 28 62 4d 61 |"*";....|.if (bMa|
|00002fc0| 73 6b 4c 65 66 74 20 26 | 26 20 62 4d 61 73 6b 52 |skLeft &|& bMaskR|
|00002fd0| 69 67 68 74 29 0d 0a 09 | 09 72 65 74 75 72 6e 20 |ight)...|.return |
|00002fe0| 49 6e 73 74 72 28 43 61 | 70 73 28 53 65 74 74 69 |Instr(Ca|ps(Setti|
|00002ff0| 6e 67 4e 61 6d 65 29 2c | 20 4d 69 64 28 43 61 70 |ngName),| Mid(Cap|
|00003000| 73 28 4d 61 73 6b 29 2c | 20 31 2c 20 4d 61 73 6b |s(Mask),| 1, Mask|
|00003010| 4c 65 6e 2d 32 29 29 20 | 3e 3d 20 30 3b 0d 0a 0d |Len-2)) |>= 0;...|
|00003020| 0a 09 69 66 20 28 62 4d | 61 73 6b 52 69 67 68 74 |..if (bM|askRight|
|00003030| 29 0d 0a 09 09 72 65 74 | 75 72 6e 20 4c 65 66 74 |)....ret|urn Left|
|00003040| 28 53 65 74 74 69 6e 67 | 4e 61 6d 65 2c 20 4d 61 |(Setting|Name, Ma|
|00003050| 73 6b 4c 65 6e 20 2d 31 | 29 20 7e 3d 20 4c 65 66 |skLen -1|) ~= Lef|
|00003060| 74 28 4d 61 73 6b 2c 20 | 4d 61 73 6b 4c 65 6e 20 |t(Mask, |MaskLen |
|00003070| 2d 20 31 29 3b 0d 0a 0d | 0a 09 69 66 20 28 62 4d |- 1);...|..if (bM|
|00003080| 61 73 6b 52 69 67 68 74 | 29 0d 0a 09 09 72 65 74 |askRight|)....ret|
|00003090| 75 72 6e 20 52 69 67 68 | 74 28 53 65 74 74 69 6e |urn Righ|t(Settin|
|000030a0| 67 4e 61 6d 65 2c 20 4d | 61 73 6b 4c 65 6e 20 2d |gName, M|askLen -|
|000030b0| 31 29 20 7e 3d 20 52 69 | 67 68 74 28 4d 61 73 6b |1) ~= Ri|ght(Mask|
|000030c0| 2c 20 4d 61 73 6b 4c 65 | 6e 20 2d 20 31 29 3b 0d |, MaskLe|n - 1);.|
|000030d0| 0a 0d 0a 09 72 65 74 75 | 72 6e 20 53 65 74 74 69 |....retu|rn Setti|
|000030e0| 6e 67 4e 61 6d 65 20 7e | 3d 20 4d 61 73 6b 3b 0d |ngName ~|= Mask;.|
|000030f0| 0a 7d 0d 0a 0d 0a 0d 0a | 0d 0a 00 |.}......|... |
+--------+-------------------------+-------------------------+--------+--------+